Xcode 4.3.2 我使用ARC编写了一个静态库。
当我把它放到一个项目中,并在iOS 4.3模拟器上测试。 (基于iOS 5.1,部署目标4.3)
如果项目使用ARC,它可以正常工作。
如果项目未使用ARC,则遇到错误,例如:
dyld:懒符号绑定失败:未找到符号:_objc_retainAutoreleasedReturnValue 参考自:/ Users / cnzzmobile / Library / Application Support / iPhone Simulator / 4.3.2 / Applications / A4EEB0A0-AC16-402C-B426-46667225F66D / test.app / test 预期在:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation
dyld:未找到符号:_objc_retainAutoreleasedReturnValue 参考自:/ Users / cnzzmobile / Library / Application Support / iPhone Simulator / 4.3.2 / Applications / A4EEB0A0-AC16-402C-B426-46667225F66D / test.app / test 预期在:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation
我搜索了很多,但找不到答案可以解决这个问题。
我删除了仅受iOS5支持的jsonobjcet,-fobjc-arc也不起作用。
由于
答案 0 :(得分:1)
我找到了添加" -fobjc-arc"在"其他链接器标志"可以在基于iOS 5.1的Xcode 4.3.2上解决这个问题。因为xcode无法找到支持ARC链接的lib。
请注意:添加" -fobjc-arc"在"其他链接器标志"不在"编译来源"。
但是这仍然不适用于基于iOS 4.3的旧版Xcode 4(雪豹)。
我发现一些lib可以在ARC和非ARC项目上工作而不添加任何特殊设置。我还在等待答案如何做到这一点。使用纯C?
编写代码答案 1 :(得分:0)
_objc_retainAutoreleasedReturnValue
是iOS 5.x版弧的功能。您正在尝试构建此框架并在iOS 4.3上运行它,这需要您为运行“ArcLite”框架的iOS 4.x指定和部署它。