Kann ich ein ARC-Framework erstellen und in einem Nicht-ARC-Projekt verwenden?

8

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?

    
Shai Mishali 01.11.2011, 13:46
quelle

3 Antworten

7

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 .

    
Brad Larson 03.11.2011, 19:09
quelle
2

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).

    
Paul de Lange 23.03.2012 15:20
quelle
1

Sollte in Ordnung sein. Die Bibliothek ist bereits kompiliert, daher sollte ARC / NonARC keine Rolle mehr spielen.

    
Patrick Perini 01.11.2011 13:55
quelle