Ich habe eine ARC (automatic-reference-counting) App, die eine statische Bibliothek (auch ARC) erstellt. Die App startet gut, aber wenn das eine Aktion ausgeführt wird, liest oder schreibt auf eine @property in der statischen Bibliothek wird die App mit diesem Fehler abstürzen:ARC App stürzt beim Zugriff auf @property ab ARC statische 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
die alle Ratschläge über die Verknüpfung nicht-ARC-Bibliotheken wurde zu ARC Apps (oder umgekehrt). Aber das sind beide ARK.
Guter Punkt über die Übereinstimmung aller Teile. Sofern Sie nicht vorhaben, iOS 6-Funktionen zu unterstützen (und die großen Testprobleme und zusätzlichen Feature-Erkennungscode zu berücksichtigen), empfehle ich außerdem, Base SDK und iOS Deployment Target auf dasselbe zu setzen (in diesem Fall iOS 5). Trotz der offiziellen Aussage von Apple, dass Sie immer mit dem neuesten SDK verlinken sollten, stimmte das Xcode-Team bei WWDC zu, dass dieser Ansatz sehr fragil ist, da der Compiler keine Warnungen gibt, wenn Sie nicht unterstützte Funktionen falsch verwenden. –
super - eine meiner vielen statischen Bibliotheken hatte dieses Problem - jetzt behoben - danke. – Ramesh
Wie ändern Sie das "Base SDK" und das "iOS Deployment Target" für die statische Bibliothek? – fredley