Новый проект iPhone cocos2d с ARC - PullRequest
2 голосов
/ 22 января 2012

начиная с нового проекта с Xcode 4.2 и cocos2d. Я хотел бы использовать ARC в своем коде и ссылаться на cocos2d в качестве статической библиотеки.

Скачал cocos2d с github и установил новый шаблон.

Создан новый проект cocos2d, однако Xcode не показывает обычный флажок ARC во втором диалоговом окне.

Я предполагаю, что это потому, что шаблоны являются шаблоном Xcode 3?

Любая мысль по этому поводу будет принята.

спасибо

UPDATE

с тех пор как я это опубликовал, я скачал cocos2d v2 и сумел скомпилировать hello world с помощью cocos2d в качестве статической библиотеки. проект был создан с использованием шаблона cocos2d, и похоже, что он настроен на использование LLVM comp v3 в «Настройках сборки», но без ARC, что ожидается, поскольку шаблон не дал мне флажок ARC.

Я запустил Refactor для ARC, и некоторые вещи нужно было исправить в AppDelegate (.h & .m), HelloWorldLayer.m и main.m, который все еще является пре-ARC.

Это говорит мне о том, что шаблоны cocos2 v2 не были обновлены, и это странно, так как версия v2 должна быть ARC.

Я что-то упустил? я должен использовать разные шаблоны?

Kobold2d звучит круто, но есть ли краткое руководство?

спасибо

Ответы [ 3 ]

4 голосов
/ 24 января 2012

Если вы хотите использовать cocos2d-iphone с ARC, рассмотрите возможность использования Kobold2D .По умолчанию в каждом проекте включена поддержка ARC, вам не нужно делать присед , просто установите и начните кодирование.Поскольку это опция по умолчанию, вы можете быть уверены, что (улучшенная) версия cocos2d-iphone в Kobold2D хорошо протестирована с ARC и содержит несколько дополнительных исправлений ARC.

Cocos2D начиная с версии 1.0.1 / 1.1 бетаи 2.0 beta2 оба не поддерживают ARC "из коробки" (шаблонный проект с поддержкой ARC недоступен).В этом руководстве по играм Tiny Tim и в этом руководстве Ray Wenderlich вы узнаете, как правильно настроить cocos2d-iphone для создания статической библиотеки, чтобы вы могли включить ARC для кода своего проекта.

Возможные причины, по которым вы не видите ARC в качестве опции:

  • проект не настроен на использование "Apple LLVM Compiler 3.0"
  • искал ARC, но параметр сборки на самом деле называется «Objective-C Автоматический подсчет ссылок»

Обратите внимание, что cocos2d-iphone 1.0.1 (текущий стабильный выпуск), насколько мне известно, не совместим с ARC,но я считаю, что в бета-версии 1.1 добавлена ​​поддержка ARC.Обязательно используйте бета-версию 1.1 или бета-версию 2.0.

Обновление для ответа Обновление

Прямо и просто: cocos2d-iphone на сегодняшний день НЕ поддерживает ARC изкоробка.Отсутствует шаблон с поддержкой ARC, который предоставляет cocos2d-iphone.

Однако версии 1.1 и 2.0 и новее могут компилироваться в проекте с поддержкой ARC при условии, что вы добавили cocos2d-iphone в статическую библиотеку, в которой отключен ARC.Это то, для чего предназначен учебник по играм Tiny Tim.

В отличие от этого, во всех проектах, предоставляемых Kobold2D , включена ARC, и если вы не хотите использовать ARC, вам просто нужно отключить его вНастройки сборки.Надеюсь, вы найдете Руководство пользователя полезным.На самом деле не так много, чтобы научиться начинать с Kobold2D.

0 голосов
/ 28 декабря 2012

Я просто делал это; Используя инструмент Edit-> Refactor-> Convert to Obj-C ARC в XCode, было очень быстро преобразовать базовый Cocos2D 2.0 в ARC.

Просто откройте новый проект с шаблоном Cocos2D, преобразуйте его в ARC, выберите 4 нижних файла (.m) и сохраните!

0 голосов
/ 14 декабря 2012

Я написал краткое пошаговое руководство по добавлению статического движка SimpleAudio cocos2d в ваш проект ARC с помощью Kobold2D - https://coderwall.com/p/jslwrg Вы также можете использовать его для всех библиотек cocos2d ...

...