来自 App Center 的 React-Native 构建中的白屏
White Screen in React-Native Build from App Center
我在通过 Microsoft App Center 分发给我的测试人员的 iOS 版本中遇到以下问题。
安装并打开后,应用程序显示登录屏幕。登录后,它会将您带到另一个屏幕,要求推送通知。这 2 个屏幕按预期工作并正确显示。
现在,在那个推送通知屏幕上,我是否启用它们似乎并不重要,无论如何,用户都会被推送到 "App" 堆栈,它只显示一个白色的屏幕在 phone 上方(无状态栏)。此 App Stack 是一个不同的导航堆栈(见下文)。
我在其他任何地方都没有遇到这个问题,在 iPhone 模拟器上或使用 npm run ios
的物理 iPhone 上没有,在使用 xCode 构建时没有,甚至没有在物理设备上使用 xCode 和 运行 构建发布版本时。这仅发生在 App Center 的构建中。
我想到的唯一可能相关的代码如下,但如前所述,其他任何地方都没有问题。
根导航器:
const createRootNavigator = () => createAppContainer(createSwitchNavigator(
{
// entry point, checks if logged in, pushes then either to Auth or App, works
AuthLoading: AuthLoadingScreen,
// login/signup, works as described above, pushes then to App
Auth: AuthStack,
// after pushing here, the white screen appears
App,
},
// ...
}
App 是一个标签导航器:
const App = createBottomTabNavigator(
{
Home: HomeStack,
// ... more
}
我发现了问题。它与一个不同的库有关,该库在应用程序启动过程的早期就存在一些内部错误。我通过为 Android 构建它发现了该应用程序甚至无法启动。然后我调查了 App Center 上的崩溃日志。所以这个问题与 App Center 无关,而是与全新安装相关的代码。
我在通过 Microsoft App Center 分发给我的测试人员的 iOS 版本中遇到以下问题。
安装并打开后,应用程序显示登录屏幕。登录后,它会将您带到另一个屏幕,要求推送通知。这 2 个屏幕按预期工作并正确显示。
现在,在那个推送通知屏幕上,我是否启用它们似乎并不重要,无论如何,用户都会被推送到 "App" 堆栈,它只显示一个白色的屏幕在 phone 上方(无状态栏)。此 App Stack 是一个不同的导航堆栈(见下文)。
我在其他任何地方都没有遇到这个问题,在 iPhone 模拟器上或使用 npm run ios
的物理 iPhone 上没有,在使用 xCode 构建时没有,甚至没有在物理设备上使用 xCode 和 运行 构建发布版本时。这仅发生在 App Center 的构建中。
我想到的唯一可能相关的代码如下,但如前所述,其他任何地方都没有问题。
根导航器:
const createRootNavigator = () => createAppContainer(createSwitchNavigator(
{
// entry point, checks if logged in, pushes then either to Auth or App, works
AuthLoading: AuthLoadingScreen,
// login/signup, works as described above, pushes then to App
Auth: AuthStack,
// after pushing here, the white screen appears
App,
},
// ...
}
App 是一个标签导航器:
const App = createBottomTabNavigator(
{
Home: HomeStack,
// ... more
}
我发现了问题。它与一个不同的库有关,该库在应用程序启动过程的早期就存在一些内部错误。我通过为 Android 构建它发现了该应用程序甚至无法启动。然后我调查了 App Center 上的崩溃日志。所以这个问题与 App Center 无关,而是与全新安装相关的代码。