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