2010-11-23 2 views
3

Ich bin neu in Mac OS X-Entwicklung. In der XCode/Cocoa-Entwickler-Umgebung beginnt jedes Objective-C-Projekt mit #import <Cocoa/Cocoa.h>
Es funktioniert gut, aber ich bin verwirrt mit Cocoa.h Datei Speicherort. Es gibt keine Cocoa.h-Datei im Cocoa-Ordner in meinem Dateisystem. Ich habe versucht "/ Cocoa/Cocoa.h" zu finden und "locate Cocoa/Cocoa.h" wurde nichts gefunden.
Kann mir jemand einen Hinweis geben, wie und wo der Compiler den Cocoa.h-Header in der obigen #import-Anweisung findet.<Cocoa/Cocoa.h> Standort

Danke, Wiederherstellen von Microsoft Addict

Antwort

6

Cocoa/ bezieht sich auf den /System/Library/Frameworks/Cocoa.framework/Headers/ Ordner. Wenn Sie Ihr Projekt überprüfen, sehen Sie unter "Frameworks" Ihre eingebundenen Frameworks und cntrl-click, um "in finder" zu finden.

+2

Sie können auch Ihren Einfügepunkt zwischen dem '<>' setzen und ⇧⌘D (Schnell öffnen) drücken, dann ⌘-klicken Sie auf die Titelleiste des neuen Fensters, um zu sehen, wo sich die Datei befindet oder zu einem ihrer Vorgängerverzeichnisse wechseln. –

+0

Danke Peter und Stephen für Ihre Hilfe. Mit Ihrer Erfahrung habe ich mein Cocoa.h in /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Ccoa.framework/Headers gefunden. Es bleibt jedoch ein Rätsel, wie XCode den Pfad zu Cocoa/zum Import-Statement abbildet. – pcmaniac

+0

@pcmaniac: Cocoa ist der Name des Frameworks (d. H. Er tritt vor ".framework" auf) und der Compiler weiß, dass die Header in das Header-Verzeichnis des Frameworks gehen. So bildet es den Pfad ab. – Chuck

0

Spotlight scheint irgendeine Headerdatei zu finden, nach der ich auch auf dem System gesucht habe.

3

Ich fand schließlich eine Antwort in Xcode Build Setting Reference Abschnitt Header-Map Build-Einstellungen.
Es stellte sich heraus, XCode hinter der Szene "magisch" Zuordnung von Headern zu Pfaden speichert Informationen in .hmap-Dateien, um die .hmap-Dateien an gcc (Compiler) übergeben.
Umgebung var HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES muss so festgelegt werden, dass die Cocoa/Cocoa.h-Syntax in #import-Anweisungen verwendet wird.
Und nein, Finder zeigt nicht .hmap-Dateien - verwenden Sie Terminal-Befehle, um sie zu bekommen.

+0

Korrektur: Sie können im Finder zu .hmap-Dateien navigieren, aber Spotlight findet sie nicht. – pcmaniac

+0

So finden Sie .hmap-Dateien von XCode IDE: – pcmaniac

+0

1. Öffnen Sie Build Results 2. Klicken Sie auf und wählen Sie Letzte Ergebnisse als Transcript-Textdatei öffnen. 3. Erstellen Sie in der Protokolldatei ".hmap" oder blättern Sie zu gcc-Aufrufen und suchen Sie nach Ich Parameter – pcmaniac