程序在 iOS 5 中崩溃而在 iOS 4 中正常?

Posted

技术标签:

【中文标题】程序在 iOS 5 中崩溃而在 iOS 4 中正常?【英文标题】:Program crashed in iOS5 and normal in iOS4? 【发布时间】:2011-11-02 18:01:34 【问题描述】:

我的游戏是在 cocos2d 0.99.5 中创建的。我已经在 App Store 测试并发布了。

我的 iPhone 从 ios4.3.3 更新到 iOS5.0 后,我的游戏经常崩溃。

* 由于未捕获的异常“NSGenericException”而终止应用程序,原因:“* 集合 <0x668a540>

【参考方案1】:

改变这一行

for ( Monster *mon in monsterArray )

for ( Monster *mon in [monsterArray copy] )

在使用快速枚举迭代数组时,不允许修改数组(正如评论中提到的 LearnCocos2D)。复制数组是在不更改代码逻辑的情况下解决此问题的最简单方法。

如果您不使用 ARC,则还需要在其中输入 autorelease

【讨论】:

我查看了有关 NSCopying 协议的文档。 [monsterArray 复制] 返回一个新的 NSMutableArray.New 对象在 [monsterArray 复制] 运行像 CCMove\CCSequence\CCJump 这样的操作会导致正确的过程?我不明白。请解释一下。 它返回另一个包含相同对象的数组。试试看它是否有效:)

以上是关于程序在 iOS 5 中崩溃而在 iOS 4 中正常?的主要内容,如果未能解决你的问题,请参考以下文章

为啥这段代码在 iOS 5.1 中会崩溃,而在 iOS 6 中不会?

Xcode 9.4 + 仅测试飞行应用程序崩溃

放大 ScrollView 在 iOS 4 中有效,但在 iOS 5 和 iOS5.1 中崩溃

iOS 5 中的弹出框变化?

iOS Wikitude SDK (5.1.4) 在锁屏时崩溃

iOS 5 中的文本字段光标放置问题(在 iOS 4 中运行良好)