Я считаю, что абсолютно необходимо иметь цели iOS и Mac в одном проекте.В противном случае вы будете тратить слишком много времени на синхронизацию одной платформы с другой, пока, в конце концов, вам не удастся создать хороший (но все еще трудоемкий) рабочий процесс - или в конечном итоге вы пренебрегете одной из двух платформ.* В идеале кодовая база должна как можно меньше использовать макросы компилятора.Вы захотите скомпилировать код для iOS и Mac, даже если он не используется для одной платформы.Поэтому некоторые классы или методы, которые #ifdef
'предназначены для Mac, а другие для iOS, чаще всего приводят к ошибкам компиляции при переключении целей.Это означает, что классы-обертки, так что вы можете написать один и тот же код независимо от платформы, очень важны.
В данный момент Cocos2D не предлагает вам создавать цели для iOS и Mac в одном проекте XCode.Способ достижения этого также неочевиден, поскольку для каждой цели требуются свои собственные параметры сборки: Базовый SDK, Корень SDK, Цель развертывания, Архитектура и, возможно, версия компилятора.Хуже, если вы также захотите использовать сторонние библиотеки (Box2D, Chipmunk и т. Д.), Потому что в некоторых случаях вы будете вынуждены создавать специфичные для iOS и Mac цели для этих библиотек - хотя бы для того, чтобы убедиться, что библиотека построенас тем же компилятором, что и у цели проекта, в противном случае вы можете столкнуться с самыми странными проблемами при сборке или во время выполнения.
У меня возникли проблемы с получением этих целей, специфичных для данной платформы, для работы в одном проекте XCode без жалоб XCode или неправильного поведения,Я не пробовал это с Xcode 4.1 и 4.2.К тому времени я создал файлы .xcconfig для размещения настроек сборки.Файлы .xcconfig могут или не могут быть необходимы с более свежими версиями XCode, но они определенно облегчают управление несколькими целями для конкретной платформы.
Короче говоря, лучший и самый простой способ сделать кроссплатформенную разработку сCocos2D-Iphone с помощью Kobold2D .
У большинства из 15 проектов шаблонов есть цель для iOS и Mac в каждом проекте, вам просто нужно выбрать соответствующую схему, а затем нажать «Создать и запустить».Наиболее часто необходимый для конкретной платформы код (обработка пользовательского ввода) заключен в независимый от платформы простой в использовании класс-оболочка KKInput .
Отказ от ответственности: I 'м разработчик Kobold2D.Есть небольшой шанс, что я могу быть предвзятым.Вы все равно должны попробовать Kobold2D .:)