我遇到了一个奇怪的问题,我建立的应用程序在作为TestFlight的归档版本启动后不久就崩溃了,但是直接从Xcode在同一设备上运行时运行没有问题。该应用程序似乎没有完全终止 - 如果我双击主页按钮,我看到在运行中途看起来像应用程序的图像,即使新会话在它之前很久就崩溃了会进入显示的屏幕。如果我然后将应用程序带回前台,它将返回到其加载屏幕,然后再次关闭,其日志如下所示:
Incident Identifier: 983F8E4E-EFE0-4C93-8F46-D223FD86DF14
CrashReporter Key: 3515df1d8c55a27394a78b6efee5f83946ed9a99
Hardware Model: iPhone7,2
Process: FileProvider [218]
Path: /private/var/containers/Bundle/Application/89708FF4-E848-4F49-BC0D-B2DC9EF536C6/Drive.app/PlugIns/FileProvider.appex/FileProvider
Identifier: com.google.Drive.FileProviderExtension
Version: 4.2017.25202 (4.2017.25202)
Code Type: ARM-64 (Native)
Role: Unspecified
Parent Process: launchd [1]
Coalition: com.google.Drive.FileProviderExtension [368]
Date/Time: 2017-06-30 22:59:01.2937 -0700
Launch Time: 2017-06-30 22:59:00.7649 -0700
OS Version: iPhone OS 10.3.2 (14F89)
Report Version: 104
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace <0xF>, Code 0xdead10cc
Triggered by Thread: 0
...有什么想法我应该调查什么才能理解这里发生了什么?
App使用Cocos2d-x framework
。
谢谢! _Kevin
答案 0 :(得分:1)
弄清楚发生了什么,如果不是确切原因。上面发布的一些细节在我进一步调查后证明是红色的。最初看起来存档构建和直接从Xcode启动的构建之间的行为差异实际上是调试构建和发布构建之间的行为差异。
解决方案是在Xcode中创建一个新方案来运行发布版本( Product-&gt; Scheme-&gt; Xcode 8.3中的Manage方案 ),复制我的默认移动方案,然后将新方案 运行 - >信息 - >构建配置 设置为 发布 强>
一旦我运行了附加了Xcode的发布版本,我发现了一个错误(可能是一个错误初始化的变量,但我还在调查)只发布在发布版本中。
崩溃日志未被生成的原因似乎是错误导致断言跳闸(Cocos2d-x中的CC_ASSERT宏),因此iOS认为应用程序关闭是合法的终止并且并没有将其记录为崩溃。