有两个不同开发者开发的Unity游戏(一个2D,另一个3D)。在XCode中启动时能正常运行,并且在iOS 10上也能正常工作。但是,当从Appstore下载到iOS 10并升级到iOS 11时,应用程序会随机崩溃。通常在崩溃3次后才开始工作。在某些设备上根本不会崩溃,而在其他设备上则在游戏开始时随机崩溃。崩溃日志有两种错误类型:
错误1
Date/Time: 2017-09-26 09:52:53.6413 -0400
Launch Time: 2017-09-26 09:52:50.4289 -0400
OS Version: iPhone OS 11.0 (15A372)
Baseband Version: 6.17.00
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Subtype: KERN_PROTECTION_FAILURE at 0x0000000105000000
VM Region Info: 0x105000000 is in 0x105000000-0x1069c4000; bytes after start: 0 bytes before end: 27017215
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
MALLOC_SMALL 0000000104800000-0000000105000000 [ 8192K] rw-/rwx SM=PRV
---> mapped file 0000000105000000-00000001069c4000 [ 25.8M] r--/r-- SM=ALI
MALLOC_LARGE 00000001069c4000-00000001069c8000 [ 16K] rw-/rwx SM=PRV
Termination Signal: Bus error: 10
Termination Reason: Namespace SIGNAL, Code 0xa
Terminating Process: exc handler [0]
Triggered by Thread: 0
错误 2
OS Version: iPhone OS 11.0 (15A372)
Baseband Version: 6.17.00
Report Version: 104
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d
Termination Description: SPRINGBOARD, process-exit watchdog transgression: bundleid exhausted real (wall clock) time allowance of 5.00 seconds | | Elapsed total CPU time (seconds): 9.360 (user 9.360, system 0.000), 94% CPU | Elapsed application CPU time (seconds): 2.920, 29% CPU |
Triggered by Thread: 0
我还注意到 Tumblr 应用程序在 iOS 11 Beta 到 iOS 11 发布更新后启动时也会崩溃3次。
这两个游戏使用了 Unity3D 5.5 进行开发。
nanosleep -> __semwait_signal
在主线程上。可能是不允许睡眠。 - Artem