Mam aplikację ARC (automatic-reference-counting), która buduje bibliotekę statyczną (również ARC). Aplikacja uruchomi w porządku, ale gdy wykonywana jest operacja, którą odczytuje lub zapisuje do @property w bibliotece statyczne aplikacja awarii z tego błędu:Aplikacja ARC Występuje awarie podczas uzyskiwania dostępu do usługi @ formate 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
Wszelkie porady chodziło o łączenie bibliotek non-ARC do aplikacji ARC (lub odwrotnie). Ale są to zarówno ARC.
Dobra uwaga dotycząca dopasowania wszystkich części. Jeśli nie planujesz obsługiwać funkcji iOS 6, gdy są dostępne (i musisz wziąć na siebie duże bóle testowe oraz wymagany dodatkowy kod wykrywania obiektów), zalecam również ustawienie Base SDK i iOS Deployment Target na to samo (w tym przypadku iOS 5). Pomimo oficjalnego oświadczenia Apple, że zawsze powinieneś łączyć się z najnowszym SDK, zespół Xcode na WWDC zgodził się, że to podejście jest bardzo delikatne, ponieważ kompilator nie daje ostrzeżeń, gdy używasz nieobsługiwanych funkcji niepoprawnie. –
super - jeden z moich wielu statycznych bibliotek miał ten problem - naprawił to teraz - dziękuję. – Ramesh
Jak zmienić "Bazowy SDK" i "Cel wdrożenia iOS" dla biblioteki statycznej? – fredley