我正在尝试将旧项目转换为 ARC。我的项目依赖于 Cocos2D,它是一个第三方非 ARC 库。所有 Cocos2D 源文件都是单独目标的一部分,并被编译为静态库。
但是,ARC 迁移ARC semantic issue
器在 Cocos2D 源文件中返回错误,即使它们不是我要转换的主要目标的一部分。
这可能是什么原因?那个源代码应该没关系,对吧?
我正在尝试将旧项目转换为 ARC。我的项目依赖于 Cocos2D,它是一个第三方非 ARC 库。所有 Cocos2D 源文件都是单独目标的一部分,并被编译为静态库。
但是,ARC 迁移ARC semantic issue
器在 Cocos2D 源文件中返回错误,即使它们不是我要转换的主要目标的一部分。
这可能是什么原因?那个源代码应该没关系,对吧?
一般来说,最安全的做法是不对不属于您的代码执行 ARC 转换。因此,您可以告诉编译器不要将 ARC 与 Cocos2D 代码一起使用,方法是进入目标设置中的“构建阶段”,按照Transitioning to ARC Release Notes-fno-objc-arc
中的说明添加标志。您只需展开“Build Phases”的“Compile Sources”部分,双击Cocos2D 源文件,然后在弹出框中输入。-fno-objc-arc
话虽如此,我很欣赏可能涉及很多 .m 文件。因此,有一些消息来源提出了处理 Cocos2D 和 ARC 的不同方法,例如在 Cocos2D 项目中启用 ARC。