我从 github 找到了一个不错的项目,但它使用旧的内存管理模型(非 ARC)。但是我的应用程序使用 ARC,所以 xcode 不会编译,因为所有 autorelease 和 dealloc 的东西。
有没有办法解决这个问题?例如,在一个项目中同时使用 ARC 和 nonARC,或者自动删除所有 autorelease 方法调用?
我从 github 找到了一个不错的项目,但它使用旧的内存管理模型(非 ARC)。但是我的应用程序使用 ARC,所以 xcode 不会编译,因为所有 autorelease 和 dealloc 的东西。
有没有办法解决这个问题?例如,在一个项目中同时使用 ARC 和 nonARC,或者自动删除所有 autorelease 方法调用?
您可以使用 not ARC 在类文件上设置 ARC 忽略标志-fno-objc-arc
- 这对我来说是最快的方法!
您也可以重构,转到:编辑>重构>转换为 Objective-C ARC
您可以将代码迁移到 ARC。WWDC 会议就是关于这个进展的,或者你只是告诉 Xcode 这些类没有使用 ARC。
选项
编辑->重构->转换为 Objective-C ARC
选项
转到Build Phases->Compile Sources并添加-fno-objc-arc作为编译器标志。
编辑 -> 重构 -> 转换为 Objective-C ARC...
Xcode 在 Edit->Refactor 菜单下内置了一个工具,用于将旧代码转换为 ARC。或者,您可以在目标的编译源构建阶段为单个文件设置自定义编译器标志。如果要为特定文件显式禁用-fno-objc-arc
ARC,请添加标志。