【发布时间】:2010-03-29 18:10:49
【问题描述】:
我已经在 iPhone 上工作了几个月。这是一款类似于老式 Smash TV 类游戏的 2D 射击游戏。
我一个人做所有事情,到目前为止效果很好,但现在我遇到了不可预知的崩溃,这似乎与 CoreFoundation 分叉而不是 exec()ing 有关,因为消息 __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONA
LITY___YOU_MUST_EXEC__ 总是出现在某个地方在调试器中。通常它出现在 CFRunLoopRunSpecific 周围,并且与定时器触发或 _InitializeTouchTapCount 相关。我无法弄清楚到底是什么导致了分叉的发生。我的主游戏循环在计时器上运行,首先更新所有逻辑,然后使用 openGL 绘制所有内容。没有什么非常复杂或不寻常的。
我知道您不能在 fork 的子节点上进行 CF 调用,也不能访问共享内存之类的东西。我没有明确地试图分叉任何东西。我的问题是:谁能告诉我什么类型的活动可能导致 CoreFoundation 像这样随机分叉?
我真的很想完成这个游戏,但我不知道如何解决这个问题。感谢您的帮助。
【问题讨论】:
-
除了 Cocoa Touch,您还使用哪些库?
标签: iphone objective-c core-foundation fork