iOS上Unity游戏在加载期间崩溃

4
我正在使用Unity 3.4.2f和XCode版本4.2.1,使用iOS 5.0 SDK进行开发。
我的游戏包含一个主菜单,其中有一个播放按钮,可以加载主场景。我的同事可以将游戏构建到设备上,并且可以正常运行。但是每当我构建游戏时,在加载第二个场景时会崩溃。这已经成为我生命中的痛苦已经有一个星期了。
来自设备的崩溃日志如下:
    Exception Type:  EXC_BAD_ACCESS (SIGILL)
    Exception Codes: KERN_PROTECTION_FAILURE at 0x00ed4e90
    Crashed Thread:  0

    Thread 0 name:  Dispatch queue: com.apple.main-thread
    Thread 0 Crashed:
    0   ???                             0x050000c0 0 + 83886272
    1   ???                             0xfffffff8 0 + -8

    Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
    Thread 1:
    0   libsystem_kernel.dylib          0x33babfbc kevent + 24
    1   libdispatch.dylib               0x328ebed4 _dispatch_mgr_invoke + 744
    2   libdispatch.dylib               0x328ecf3a _dispatch_queue_invoke + 70
    3   libdispatch.dylib               0x328ec4ec _dispatch_worker_thread2 + 228
    4   libsystem_c.dylib               0x3489f58a _pthread_wqthread + 258
    5   libsystem_c.dylib               0x3489fbbc start_wqthread + 0

    *Note: Removed various other non-crashed threads through thread 11*

    Thread 0 crashed with ARM Thread State:
    r0: 0x01ab7094    r1: 0x00000000      r2: 0x00000000      r3: 0x3f800000
    r4: 0x04020000    r5: 0x3987cc80      r6: 0x01004d08      r7: 0x080000c1
    r8: 0xc1080000    r9: 0x00000000     r10: 0xc1050000     r11: 0xc1040000
    ip: 0x2fdfe144    sp: 0x00ed4e9c      lr: 0x00dfc558      pc: 0x050000c0
    cpsr: 0x20000030

这可能不是最有帮助的,但从我在这里和其他各种网站上阅读的内容来看,我应该能够使用像0x050000c0这样的内存地址来确定我崩溃的实际代码位置?首先,我们尝试了其他一些事情...
该项目位于一个SVN仓库中,因此我已将整个源目录删除并从SVN重新更新,确保能够正常构建的同事也这样做了。当这样做没有效果时,我让他向我发送了一个.xcodeproj文件的.zip文件,以尝试构建该文件,但Prime31 Unity插件不喜欢它,它们指向他机器上不同用户目录中的源文件夹。因此,我要求他压缩他的Unity源代码并将其发送过来,这需要重新安装Prime31插件,然后我就能够构建了,但结果仍然相同。在场景加载之间崩溃。
我们都在同一台iPad设备上构建。我们都在针对iOS 5.0进行构建,而设备正在运行4.3.3。
我已经删除了所有的xcode设置,然后从我的Mac中删除了整个/Developer文件夹,并完全重新安装了xcode。结果仍然相同。我想尝试重新安装Unity,但我不确定是否需要注销我的Unity Pro密钥,然后再次激活它?
我已经花费了太多的时间,这不可能是什么复杂和困难的问题。我知道这肯定是我自己愚蠢简单的问题,但我已经看不清问题所在了,因此我向您寻求帮助!

只需将您自己的解决方案添加为答案并将其标记为已接受。 - Kay
1个回答

1

问题解决了!我将这篇帖子发送给一位朋友,他问我:“你确定你们都在同一个Unity版本上吗?” 我检查了一下,实际上我使用的是Unity 3.4.1f版本而不是3.4.2f版本。更新了Unity,所有问题都好了。 可能最新版本的Prime31插件不喜欢旧版的Unity?


你尝试过在Unity3D Windows环境下生成iOS构建吗?(解释一下:我有一个Unity3D项目,是从Windows机器制作的,并尝试在我的MAC机器上为我的iOS设备生成构建)。请告诉我,谢谢!;) - el.severo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接