【问题标题】:Unity game crashing during load on iOS在 iOS 上加载时 Unity 游戏崩溃
【发布时间】:2012-02-14 04:45:45
【问题描述】:

我正在使用 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 重新更新它,确保可以正确构建的同事也这样做了。当这不起作用时,我让他向我发送他的 xcode 项目的 .zip 文件,以尝试构建它,但 Prime31 Unity 插件不喜欢那样,它们指向他的源文件夹,该文件夹位于不同的用户目录中他的机器。所以我让他压缩他的统一源并将其发送,这需要重新安装 Prime31 插件,然后我能够构建,但仍然得到相同的结果。在场景加载之间崩溃。

我们都使用完全相同的物理 iPad 设备进行构建。我们都针对 iOS 5.0 构建,而设备是 4.3.3。

我已经删除了所有 xcode 设置,然后从我的 Mac 中删除了整个 /Developer 文件夹并完全重新安装了 xcode。结果相同。我会尝试重新安装 Unity,但我不确定是否需要停用 Unity Pro 密钥然后重新激活?

我花费了太多时间来让这件事变得复杂而困难。我知道这肯定是我无法理解的简单和愚蠢的事情,但我不再只见树木不见森林,所以我问你,亲爱的互联网!

【问题讨论】:

  • 只需添加您自己的解决方案作为答案并将其标记为已接受。

标签: ios xcode build unity3d prime31


【解决方案1】:

解决了!我把这篇文章链接到一个朋友,他问:“你确定你们都在同一个统一版本上吗?”我查了一下,实际上我使用的是 Unity 版本 3.4.1f 而不是 3.4.2f。更新了 Unity,一切都很好。大概是这些 Prime31 插件的最新版本不喜欢旧版本的 Unity?

【讨论】:

  • 你尝试过在Unity3D Windows环境下制作iOS build form吗? (向你解释一下:我有一个由 Windows 机器制作的 Unity3D 项目,并试图在我的 MAC 机器上构建我的 iOS 设备)。请告诉我,谢谢! ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
相关资源
最近更新 更多