Работаю на айфоне несколько месяцев. Это 2D стрелялка, похожая на старые игры типа Smash TV.
Я делаю все в одиночку, и до сих пор это получалось хорошо, но теперь я получаю непредсказуемые сбои, которые, похоже, связаны с разветвлением CoreFoundation, а не с exec(), поскольку сообщение __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONA
LITY___YOU_MUST_EXEC__
всегда появляется где-то в отладчике. Обычно он появляется вокруг CFRunLoopRunSpecific и связан либо со срабатыванием таймера, либо с _InitializeTouchTapCount. Я не могу точно понять, что вызывает вилку. Мой основной игровой цикл работает по таймеру, сначала обновляя всю логику, а затем рисуя все с помощью openGL. Ничего особо сложного или необычного нет.
Я понимаю, что вы не можете делать вызовы CF на дочерней стороне вилки или получать доступ к общей памяти и тому подобное. Я явно не пытаюсь что-то разветвить. Мой вопрос: может ли кто-нибудь сказать мне, какой тип активности может привести к тому, что CoreFoundation будет случайным образом разветвляться?
Я бы очень хотел закончить эту игру, и я не знаю, как решить эту проблему. Спасибо за любую помощь.