发布版本 Xcode8 在 iOS 9 设备上崩溃

Posted

技术标签:

【中文标题】发布版本 Xcode8 在 iOS 9 设备上崩溃【英文标题】:Release build Xcode8 crashes on iOS 9 device 【发布时间】:2016-10-10 10:02:35 【问题描述】:

我在 Xcode 8 中将我的应用程序转换为 Swift 2.3。在模拟器 ios 10 和 iOS 9 上运行(或在物理 iOS 9/10 设备上调试构建)时没有问题。此外,我们的(大型)自动 UI 测试集在 iOS 10 设备上运行良好。但是在为 iTunes/TestFlight 创建(发布)IPA 时,此版本在启动时立即在 iOS 9 上崩溃。在 iOS 10 上运行没有任何问题。

日志向我展示了这一点:

...

dyld: lazy symbol binding failed: Symbol not found: _sqlite3_key_v2
      Referenced from: /var/mobile/Containers/Bundle/Application/A5200093-5C37-46AD-8C16-BC873469EC6F/*.app/*
      Expected in: dyld shared cache
Oct 10 11:51:45 iPhone *[1310] <Notice>: dyld: Symbol not found: _sqlite3_key_v2
      Referenced from: /var/mobile/Containers/Bundle/Application/A5200093-5C37-46AD-8C16-BC873469EC6F/*.app/*
      Expected in: dyld shared cache

...

Oct 10 11:51:45 iPhone diagnosticd[84] <Error>: unable to find offset 0x836c5da8 in shared cache for arch 'arm64'
Oct 10 11:51:45 iPhone diagnosticd[84] <Error>: Invalid offset 2204917160 into shared cache for arch 'arm64'

...

【问题讨论】:

【参考方案1】:

与此同时,我自己发现了这个问题。这对我的情况非常具体。这是导致问题的第三方库(所以要具体一点;JB4A-SDK)。更新到最新版本解决了这个问题。

【讨论】:

以上是关于发布版本 Xcode8 在 iOS 9 设备上崩溃的主要内容,如果未能解决你的问题,请参考以下文章

推送通知不适用于 iPhone 所有设备 (Xcode8) 版本

使用 XCode 8 修复 iOS 11 崩溃

Xcode 11 GM-设备启动后应用程序崩溃由于信号9而终止

在 ios-9.3 上运行良好的应用程序,但是当我在任何具有 IOS-10 的设备上运行它时,它会在随机点崩溃

xcode8运行ios10 的版本模拟器会出现很多的崩溃现象,比如用到相机,麦克风,健康数据等

React Native 应用在 IOS 13 版本设备中崩溃