Ho un'app ARC (automatic-reference-counting) che crea una libreria statica (anche ARC). L'applicazione lancerà bene, ma quando viene eseguita l'un'azione che legge o scrive a un @property nella libreria statica l'applicazione andrà in crash con questo errore:ARC App si blocca quando si accede a @property form ARC static lib
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
Tutti i consigli è stato sul collegamento di librerie non-ARC alle app ARC (o viceversa). Ma questi sono entrambi ARC.
Buon punto sul rendere tutte le parti uguali. A meno che non si preveda di supportare le funzionalità di iOS 6 quando disponibili (e di affrontare i grossi problemi di test e il codice di rilevamento delle funzionalità richiesto), consiglio anche di impostare Base SDK e iOS Deployment Target sulla stessa cosa (iOS 5 in questo caso). Nonostante la dichiarazione ufficiale di Apple secondo cui dovresti sempre collegarti all'ultimo SDK, il team Xcode del WWDC ha convenuto che tale approccio è molto fragile perché il compilatore non ti avvisa quando usi in modo non corretto funzioni non supportate. –
super - una delle mie numerose librerie statiche aveva questo problema - risolto ora - grazie. – Ramesh
Come si modifica 'Base SDK' e' Destinazione di distribuzione iOS' per la libreria statica? – fredley