iOS 11,Unity3d随机启动崩溃
问题描述:
有2个由不同开发者开发的统一游戏(一个2D和另一个3D)。iOS 11,Unity3d随机启动崩溃
它们工作得很好,而在Xcode和做工精细开始在iOS上10
但是从苹果商店里下载到iOS 10和iOS的时候得到了升级到iOS 11则应用开始随机崩溃。
通常它会崩溃3次然后开始工作。在某些设备上,它不会崩溃,或者在游戏开始时随机崩溃的其他设备。
Crashlogs有2种错误:
错误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应用同样坠毁3次在启动后iOS 11 Beta - > iOS 11发布更新。
Unity3D 5.5被用来开发这2场比赛。
答
从Unity3D 5.5升级到Unity 2017.1 p3(补丁3)修复了大多数错误。 我们在Unity 2017.1中有一些bug。f1(f3)
答
我们有完全相同的问题。升级到iOS 11后,应用程序会随机崩溃,并在重试一堆之前不会启动和CTD。然后,它会继续正常工作几天,直到下一次随机崩溃。这在Android或iOS 10上不存在。Artem,你能找到什么吗?
+0
我添加了答案。将Unity升级到最新版本。 – Artem
你是否在你的程序中起诉任何网络代码,如TCP/UPD或http请求? – Programmer
游戏有很多网络代码,包括广告网络,分析,统一服务。它绝对使用网络API。即使在“加载徽标”出现之前,它在启动时立即崩溃,但不知道它是否在第一秒执行任何网络代码。 – Artem
对不起,我忍不住。通过做一些搜索,当游戏开始时主线程中的网络资源导致主线程阻塞时,问题似乎就会发生。您需要制作项目的副本,然后开始移除插件,直到找到导致此问题的插件。 – Programmer