我们的应用程序通过TestFlight发布,目前正在为少数用户遇到崩溃,而且崩溃非常难以调查.它发生在iOS 9和9.1上,我们在几款不同的iPhone上看过它.我们已经测试了所有这些设备和操作系统版本,因此似乎不是问题.
为了调试问题,我试图检查设备日志,以下是我们得到的:
securityd[93] <Error>: securityd_xpc_dictionary_handler Roger[1287] copy_matching Error Domain=NSOSStatusErrorDomain Code=-50 "query missing class name" UserInfo={NSDescription=query missing class name} Roger[1287] <Error>: SecOSStatusWith error:[-50] Error Domain=NSOSStatusErrorDomain Code=-50 "query missing class name" UserInfo={NSDescription=query missing class name} SpringBoard[58] <Warning>: HW kbd: Failed to set (null) as keyboard focus com.apple.xpc.launchd[1] (UIKitApplication:im.rgr.RogerApp[0x24fe][1287]) <Notice>: Service exited due to signal: Trace/BPT trap: 5 diagnosticd[84] <Error>: unable to find offset 0x99c5ba5c in shared cache for arch 'arm64' SpringBoard[58] <Warning>: Application 'UIKitApplication:im.rgr.RogerApp[0x24fe]' crashed. UserEventAgent[26] <Warning>: 2808550521498: id=im.rgr.RogerApp pid=1287,state=0
一旦我尝试通过Xcode与Debug或Production运行应用程序(与发布的代码完全相同的代码),错误不再发生.因此,当应用程序通过TestFlight发布时,它似乎才会发生.
有谁知道如何调试此问题?
解决方法
为了防止这种情况发生,我在尝试打开使用Enterprise配置文件签名的应用程序时在日志中看到了此错误.我没有看到关于尝试打开不受信任的应用程序的通常警告;我不知道为什么.
修复是进入设置 – >一般 – >设备管理(或配置文件和设备管理),然后在企业应用程序部分下,选择组织,然后在下一个屏幕上选择信任配置文件.记录于https://support.apple.com/en-us/HT204460