我有一个 ARC ( automatic-reference-counting ) 应用程序,用于构建静态库(也是 ARC)。应用程序将正常启动,但当执行读取或写入静态库中的 @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。
最佳答案
应用的 Base SDK
设置为 iOS 6,iOS 部署目标
设置为 iOS 5.0,但是对于静态库,Base SDK
> & iOS 部署目标
已设置为 iOS 6。
确保应用和库中的 Base SDK
和 iOS 部署目标
匹配可以解决此问题。
关于iphone - 从 ARC 静态库访问 @property 时,ARC 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12641190/