9
當我有一個ARC(automatic-reference-counting)的應用程序,建立一個靜態庫(也ARC)。該應用程序將啓動正常,但在執行的操作讀取或靜態庫寫入一個@property應用程序將與此錯誤崩潰:ARC應用崩潰訪問@property形式ARC靜態庫
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。
有關使各地的比賽好一點。除非你打算支持iOS 6的功能可用時(並就大型測試頭疼和需要額外的功能檢測代碼),我還建議基地SDK和iOS部署目標設置爲相同的事情(的iOS 5在這種情況下)。儘管蘋果的官方說法,你應該總是對最新的SDK鏈接,Xcode的團隊在WWDC一致認爲,這種做法是很脆弱的,因爲當你使用不支持的功能不正確的編譯器給你任何警告。 –
超 - 我的許多靜態庫之一有這個問題 - 現在修復 - 謝謝。 – Ramesh
如何爲靜態庫更改'Base SDK'和'iOS Deployment Target'? – fredley