发布版本 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 11 GM-设备启动后应用程序崩溃由于信号9而终止
在 ios-9.3 上运行良好的应用程序,但是当我在任何具有 IOS-10 的设备上运行它时,它会在随机点崩溃