[英]How to change deployment target from iOS 5.1 to 4.2 in Xcode 4.4
[英]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.