繁体   English   中英

Xcode 4.4,使用ARC for iOS 4.2构建应用程序

[英]Xcode 4.4, build app with ARC for iOS 4.2

Xcode 4.4,Mountain Lion,llvm 4.0编译器。 我构建我的应用程序,它适用于ios5,ios6设备,但在带有ios 4.2的iphone 3g上我有这样的错误:

dyld: lazy symbol binding failed: Symbol not found: _objc_storeStrong
Referenced from: /var/mobile/Applications/68B78A19-71E6-4BDA-B997-B7DED4D02429/iGuides.app/iGuides
Expected in: /usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_storeStrong
Referenced from: /var/mobile/Applications/68B78A19-71E6-4BDA-B997-B7DED4D02429/iGuides.app/iGuides
Expected in: /usr/lib/libobjc.A.dylib

在Xcode 4.3上,一切正常,因为我只使用strong和unsafe_unretained修饰符。

我明白了,没有一个arc libs链接到我的应用程序。

我试图用libarclite_iphoneos.a手动链接,没有反应。 我添加了-fobj-arc来链接标志,没有反应。

我想,iPhone 3g支持将在XCode 4.5中丢弃,而不是4.4。 是这样吗?

我刚发现问题。 错误是因为iRate库,当我删除对此lib的引用时,一切都开始工作。

更新:更新到最新版本后,一切都很好。 谢谢@Nick Lockwood的解释:在执行[class load]方法 ,iOS上的arclite lib加载。 所以你需要延迟初始化。 在iRate中,他在load方法中插入performOnTheMainThread。

尝试在其他链接器标志中添加-fobjc-arc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM