I have a ARC (automatic-reference-counting) app that builds a static library (also ARC). The app will launch fine but when the an action is performed that reads or writes to a @property in the static library the app will crash with this error:
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
All the advice has been about linking non-ARC libraries to ARC Apps (or vice-versa). But these are both ARC.
The app’s
Base SDKwas set to iOS 6 andiOS Deployment Targetwas set to iOS 5.0 however for the static library both theBase SDK&iOS Deployment Targetwere set to iOS 6.Making sure the
Base SDK&iOS Deployment Targetmatched in the app and library solved this problem.