Ich denke, der Titel erklärt meine Frage ziemlich gut, ich arbeite gerade an einem kleinen Framework für meine persönlichen Bedürfnisse und überlege, ob ich es mit ARC bauen könnte (wenn überhaupt?), und es in alten Projekten verwende wurden vor ARC gebaut?
Ja, mit einem Vorbehalt: Wenn Sie iOS 4.x als Implementierungsziel verwenden, ist eine zusätzliche Bibliothek erforderlich, um mit ARC-kompiliertem Code auf der älteren Laufzeit umzugehen. Für eine Anwendung, die mit ARC erstellt wurde, ist diese in der Anwendung enthalten. Dies ist nicht enthalten, wenn Sie eine ARC-kompilierte Bibliothek in einer Nicht-ARC-Anwendung verwenden.
Sie können diese Bibliothek manuell mit Ihrer Nicht-ARC-Anwendung verknüpfen, um Laufzeitprobleme bei den älteren Betriebssystemversionen zu vermeiden, indem Sie -fobjc-arc
zu Ihren anderen Linker-Flags für die Anwendung hinzufügen.
Weitere Informationen hierzu finden Sie in diesem Apple-Entwicklerforen-Thread .
Sie können mit der von Apple bereitgestellten Leimbibliothek verlinken (wie Brad in seiner Antwort oben gesagt hat). Allerdings ist das __weak-Variablenqualifikationsmerkmal nicht kompatibel mit Betriebssystemen unter 4.3 (Wie hier erwähnt: iOS 5 Best Practice (Release / behalten?) in einem Kommentar von sudo).
Sollte in Ordnung sein. Die Bibliothek ist bereits kompiliert, daher sollte ARC / NonARC keine Rolle mehr spielen.
Tags und Links iphone frameworks automatic-ref-counting