Ich habe ein Xcode-Projekt mit einem Mac-Ziel und einem iOS-Ziel. Das Projekt enthält eine Klasse IPhoneOnlyClass, die nur im iOS-Ziel verwendet wird. Ich habe IPhoneOnlyClass.m vom Mac-Ziel deaktiviert, damit es diese Datei nicht kompiliert.Sagen Xcode, eine Überschrift für einige Ziele zu ignorieren?
Jetzt IphoneOnlyClass.h die Zeile enthält
#import <GameKit/GameKit.h>
Als ich für den Mac Ziel bin kompilieren, Xcode gibt mir eine Fehlermeldung:
Fehler: GameKit/GameKit.h: Keine solche Datei oder ein Verzeichnis
Ich könnte das mit einem #ifdef umgehen, aber gibt es einen besseren Weg? Ich würde lieber Xcode sagen, den Header insgesamt zu ignorieren, wenn das Mac-Ziel kompiliert wird.
Die .m-Datei nicht in der Kompilierung Quellen Phase bauen ist. Wie kann ich Xcode mitteilen, dass er nicht auf die Kopfzeile schauen soll? Ich habe versehentlich die .m-Datei überprüft, um sie in einen früheren Build einzubeziehen, und habe sie dann deaktiviert. Könnte das das Problem verursachen? Andere Header, die .m-Dateien entsprechen, die ich nie in das Ziel eingegeben habe, haben nicht das gleiche Problem. –
Das Problem war, dass eine meiner anderen .m-Dateien es importierte, und ich hatte es nicht bemerkt. –