【发布时间】:2017-07-07 01:58:59
【问题描述】:
我遇到了一个奇怪的问题,即我正在构建的应用程序在从 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
...对我应该调查什么以了解这里发生了什么有什么想法吗?
应用程序是使用 Cocos2d-x framework 在 C++ 中构建的。
谢谢! _凯文
【问题讨论】:
-
TestFlight 交付的应用是多久以前的?
-
大约一个小时前。我之前一直通过直接从 Xcode 在设备上运行来测试应用程序,然后当新的存档二进制文件从 TestFlight 到达时,我允许 TestFlight 覆盖来自 Xcode 的二进制文件。
-
以下是日志中的一些附加信息,以防有用:(我还注意到最近运行尝试的崩溃日志在设备上不可用 - 此日志来自早期的崩溃晚上,但从那以后我运行它并没有找到其他日志。线程 0 名称:调度队列:com.apple.main-thread 线程 0 崩溃:0 libsystem_kernel.dylib 0x0000000184edb224 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x0000000184edb09c mach_msg + 72 2 核心基础 0x0000000185eace90 __CFRunLoopServiceMachPort + 192 ...
-
更多信息:作为测试,我们上传了一个以前工作的旧版本,但它以同样的方式失败,所以无论这似乎是构建本身的外部。我们在两个不同的 iOS 设备上观察它。
-
这似乎是相关的:developer.apple.com/library/content/technotes/tn2151/…“一个应用程序已被操作系统终止,因为它在挂起期间持有文件锁或 sqlite 数据库锁”。是否有可能之前崩溃的会话仍然持有锁定并阻止后续执行?