Cocos2d Targeting iPhone / iPad / Mac - PullRequest
       5

Cocos2d Targeting iPhone / iPad / Mac

2 голосов
/ 22 октября 2011

Недавно я провел исследование по созданию приложения cocos2d для iPhone / iPad и Mac.Я прошел маршрут iPhone / iPad, но никогда не делал это с целью Mac.Похоже, что некоторые люди добавили его в качестве цели, но отметили, что он привередлив, а другие предложили создать отдельный проект Cocos2d Mac, который использует те же файлы.Любая мудрость, чтобы поделиться здесь?

1 Ответ

2 голосов
/ 22 октября 2011

Я считаю, что абсолютно необходимо иметь цели 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 .:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...