我有一个构建静态库(也是ARC)的ARC(automatic-reference-counting)应用程序。该应用程序将正常启动,但当执行一个读取或写入静态库中的@property的操作时,应用程序将崩溃并显示以下错误:
dyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic
Referenced from: /var/mobile/Applications/0E7ADBB4-FFE5-4CEB-B418-8A35A92E99D4/MyApp.app/MyApp
Expected in: /usr/lib/libobjc.A.dylib
dyld: Symbol not found: _objc_setProperty_nonatomic
Referenced from: /var/mobile/Applications/0E7ADBB4-FFE5-4CEB-B418-8A35A92E99D4/MyApp.app/MyApp
Expected in: /usr/lib/libobjc.A.dylib
所有建议都是关于将非ARC库链接到ARC应用程序(反之亦然)。但这些都是ARC。
答案 0 :(得分:32)
应用的Base SDK
设置为iOS 6,iOS Deployment Target
设置为iOS 5.0但是对于静态库,Base SDK
& iOS Deployment Target
已设置为iOS 6。
确保Base SDK
&应用程序和库中匹配的iOS Deployment Target
解决了这个问题。