iOS 打开时在 testFlight 中崩溃

iOS crash in testFlight on open

当 运行 测试战斗中的应用程序在打开时崩溃。 如果直接在模拟器或设备上测试,该应用程序运行良好。

我再次清理、存档和上传应用程序,没有任何区别。 Valid Architecture 仅设置为 arm64

这是控制台中的错误

Attempt to add an app with insufficient id, info {
BKSApplicationStateAppIsFrontmost = 1;
BKSApplicationStateExtensionKey = 0;
SBApplicationStateDisplayIDKey = "org.mydomain.name";
SBApplicationStateKey = 8;
SBApplicationStateProcessIDKey = 677;
SBMostElevatedStateForProcessID = 8;
}

该应用程序是用 react-native 构建的

React Native 环境信息:

System:
  OS: macOS High Sierra 10.13.6
  CPU: x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
  Memory: 3.59 GB / 16.00 GB
  Shell: 3.2.57 - /bin/bash
Binaries:
  Node: 8.9.3 - /usr/local/bin/node
  npm: 6.1.0 - /usr/local/bin/npm
  Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
  iOS SDK:
    Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
  Android SDK:
    Build Tools: 23.0.1, 25.0.2, 25.0.3, 26.0.2, 27.0.3
    API Levels: 16, 19, 22, 23, 25, 26, 27
IDEs:
  Android Studio: 3.0 AI-171.4443003
  Xcode: 10.0/10A255 - /usr/bin/xcodebuild
npmPackages:
  react: 16.3.1 => 16.3.1
  react-native: ^0.56.0 => 0.56.0
npmGlobalPackages:
  create-react-native-app: 1.0.0
  react-native-cli: 2.0.1
  react-native-rename: 2.2.2

我已经休假了从这里发布的 guid https://facebook.github.io/react-native/docs/running-on-device

关于如何解决这个问题有什么想法吗?

这可能是签名或位码问题。首先,您可以重新生成您的证书和配置文件,创建新构建并将其再次上传到 TestFlight。然后,如果这不起作用,您可以在项目设置中禁用位码并创建新版本。问题是当 bitcode 是 ON TestFlight 在分发之前重建应用程序。

原来崩溃是因为框架'@rpath/XCTest.framework/XCTest'没有被加载,我在控制台中得到的错误是误导性的。

提交应用程序进行 Beta 审核并取回崩溃日志后,我才明白原因。

为了解决这个问题,我删除了 derivedData 文件夹并在喜欢的框架中添加了 XCTest 框架作为可选。