我正在使用Xcode 4.2并为iphone构建游戏(来自iOS 3.0 - 5.0)。 cocos2d支持ARC吗?需要对转换以前版本中编写的代码进行哪些修改?
如果我对变量使用强弱关键字并将编译器设置为LLVM GCC 4.2,结果会是什么?是否有必要将编译器更改为3.0以支持ARC?
答案 0 :(得分:10)
Cocos2d v1.1和v2.0与ARC兼容。但是,cocos2d代码本身不使用ARC,并且cocos2d没有提供可用于开始使用ARC编程的模板。您需要自己为cocos2d文件添加单独的静态库目标。
正如Ankit指出的那样,Tiny Tim Games对cocos2d-iphone to make it ARC compatible的分叉版本进行了必要的修改。这些更改已集成到开发版本中,应在cocos2d v2.x分支中提供。我已经写了tutorial to enable ARC in a cocos2d (2.0) project。
据说cocos2d本身将在v2.1或v2.2中内部转换为使用ARC。
重要的是要注意,没有计划在cocos2d v1.x分支中正式支持ARC,因为v1.x行应该与第1代设备和iOS 3.x保持向后兼容。但是在v1.1中增加了一般的ARC兼容性。
答案 1 :(得分:2)
尽管Cocos2d不支持arc,但有一种方法可以将它们一起使用,这是通过跨项目引用。您可以通过引用此内容来了解如何操作.. cocos2d and ARC
答案 2 :(得分:1)
更简单,只需在此处获取我的cocos2d-ARC模板:https://github.com/Elland/Cocos2d-iphone-ARC-template无忧无虑,只需将项目重命名为您想要的名称即可设置:)