我最终通过从源代码构建 PLCrashReporter 1.2.1 来解决这个问题。此版本是 Xcode 7 和 iOS9 修复合并的最低版本。
来源从这里获得:PLCrashReporter 1.2.1
将下载的 1.2.1 源码解压到一个文件夹中。
在 Xcode 中将 Xcode 项目拉到该文件夹中,并将以下内容添加到项目构建设置的自定义编译器设置“其他 C 标志”部分:-fembed-bitcode
接下来将以下内容添加到项目构建设置的自定义编译器设置“其他警告标志”部分:-Wno-error=unused-command-line-argument
然后从 Xcode GUI 关闭项目。自定义设置是必要的,因为我们将使用 xcodebuild 从命令行构建以避免 PLCR 弃用错误,并且在这样做时默认只有 -fembed-bitcode-marker 以这种方式构建框架。我们正在覆盖默认行为,并且需要抑制由此导致的硬停止警告。
最后,从包含 xcode 项目文件的源 zip 文件所在文件夹中的终端窗口提示符运行以下命令:
xcodebuild -configuration Release -target 'Disk Image'
这将运行构建并将框架留在./build/Release/PLCrashReporter-1.2.1/iOS Framework
现在,这些步骤将生成一个启用位码的框架,但第三方崩溃报告与位码不兼容(当 App Store 重新编译时,您无法从动态构建中获取符号文件)。