【发布时间】:2013-01-03 19:12:10
【问题描述】:
我已经从 GitHub 下载了最新版本的 KeyChainItemWrapper,但是在编译时给我这个错误:这个代码必须在启用 ARC 的情况下编译!
所以,我尝试通过以下方式对我的项目进行 Arcified:编辑-->重构-->转换为 Objective-C ARC, 并运行转换器,但它给了我同样的错误......
此错误的根源来自 KeyChainItemWrapper.m 中存在的此代码
#if ! __has_feature(objc_arc)
#error THIS CODE MUST BE COMPILED WITH ARC ENABLED!
#endif
如何开启 objc_arc 功能??
谢谢!
【问题讨论】:
-
检查这个devforums.apple.com/message/533729#533729。您需要登录才能查看。
-
从 Apple 的 GenericKeychain 示例应用程序中获取原始的非 ARC KeychainItemWrapper 类。
-
为什么推荐拿非ARC版本??使用ARC不是更好地避免释放和泄漏吗??
-
@Shvalb 我想你是在回复我。我以为您有一个非 ARC 项目,并且遇到了
KeychainItemWrapper的 ARC 版本的问题。由于您拥有KeychainItemWrapper的 ARC 版本,因此您听起来好像只是尝试转换为 ARC。所以我建议非ARCKeychainItemWrapper。如果您在尝试转换的非 ARC 代码中混入了一些 ARC 代码,Xcode 的 ARC 转换工具会非常痛苦。如果您拥有所有非 ARC 代码,则转换会容易得多。 -
@rmaddy : 你有 ARC 版本的 KeychainItemWrapper 的链接吗?
标签: objective-c ios automatic-ref-counting