Hat sich der Weg zum globalen Import von Dateien in Xcode 6 / iOS 8 geändert?

8

Ich habe meine globalen Importe (dh Importe, die für alle Quelldateien in meinem Xcode-Projekt sichtbar wären) in der Datei AppName -Präfix vorgenommen. pch .

In einer Umgebung mit Xcode 6 (und iOS 8) wird diese Datei nach dem Erstellen eines neuen Projekts jedoch nicht mehr automatisch erstellt.

Meine Frage ist, wie man in Xcode 6 globale Importe richtig macht? Kann ich einfach meinen eigenen AppName -prefix.pch erstellen und diesen ggf. verwenden?

Hinweis: Wenn Sie Cocoapods verwenden, ist eine Datei namens Pods- AppName -Bolts-prefix.pch erzeugt. Aber globale Importe werden mit dieser nicht funktionieren.

    
nburk 20.11.2014, 07:34
quelle

3 Antworten

19

Apple hat endlich verstanden, dass globale Abhängigkeit eine sehr sehr schlechte Praxis ist. Im Idealfall müssen Sie aufhören, PCH-Dateien zu verwenden, da dies andere Dateien sehr unordentlich macht und die Wiederverwendung von Code unterbricht.

Wie auch immer, hier ist die Lösung

  1. Neue PCH-Datei zum Projekt hinzufügen - Neue Datei & gt; Andere & gt; PCH-Datei

  2. Im Projekt 'Build Settings' Option - setze den Wert von 'Prefix Header' auf deinen PCH-Dateinamen, mit dem Projektnamen als Präfix - d. h. für das Projekt "TestProject" und die PCH-Datei "MyPrefixHeaderFile" fügen Sie dem plist den Wert "TestProject / MyPrefixHeaderFile.pch" hinzu.

l0gg3r 20.11.2014, 07:39
quelle
5

Sie können Ihre eigenen erstellen, aber der Punkt ist wirklich, dass Sie keine globalen Abhängigkeiten haben sollten, sollten Sie explizit nur das importieren, was in jeder Klasse benötigt wird. In der Tat sollten Sie in Ihren .h-Dateien versuchen, @class für alles zu verwenden und nur in Ihre .m-Datei zu importieren. Dieser Ansatz macht die Abhängigkeiten einer Klasse sehr klar und reduziert die Wahrscheinlichkeit von Abhängigkeitszirkularitäten, was beides sehr gute Dinge sind.

    
Wain 20.11.2014 07:38
quelle
0

In Xcode 6 wird die .pch-Datei des Projekts nicht mehr automatisch generiert. Wenn Sie eine solche Datei möchten, können Sie selbst eine .pch-Datei erstellen. Tun Sie dies wie folgt;

%Vor%

Nachdem Sie den Namen für die Datei eingegeben und gespeichert haben, gehen Sie zu "Build Settings" und setzen Sie den Wert für "prefix header" als "YourProjectName / YourPCHFileName.pch". Und wenn der "Precompile Prefix header" auf "No" gesetzt ist, dann ändern Sie ihn in "Yes". Jetzt können Sie jede Datei, die Sie importieren möchten, global platzieren, aber alles hier zu behalten, ist keine gute Übung.

    
Rameswar Prasad 20.11.2014 07:42
quelle

Tags und Links