2015-10-27 16 views
16

Während des Archivs Xcode 7.1 sagt Restkit/Restkit.h nicht gefunden, aber in debug es erfolgreich gefunden den Header. Es ist ein altes Projekt, das keine Kakaoschoten verwendet, daher wird RestKit manuell hinzugefügt. Habe viele Lösungen versucht, aber nicht erfolgreich. Hilfe erforderlich.Xcode 7.1 Header nicht gefunden

+0

Haben genau das gleiche Problem. Arbeiten mit RestKit 0.10.3 (Nicht-Cocoapoden). Ich habe versucht, mit Search-Header-Pfaden herumzuspielen, aber bis jetzt hat noch nichts funktioniert. Auch das versucht [https://issues.apache.org/jira/browse/CB-9656] – FeltMarker

+0

Die Ursache des Problems ist, dass wir "$ (BUILT_PRODUCTS_DIR) /../../ Header" in Header-Suchpfaden hinzugefügt haben , die nach Build/Release-iphoneos sucht und dann zurück in den Header-Ordner mit der Datei Restkit.h führt, aber leider wird Release-iphoneos nicht in xcode 7.1 erstellt.Vielleicht finden Sie Hilfe in dieser Hinsicht –

Antwort

19

Zusammen mit Ihrem Vorschlag und this SO post habe ich es gelöst, indem ich "$ (BUILD_ROOT)/../ IntermediateBuildFilesPath/Header" (rekursiv) in den Projekt Build-Einstellungen, Header Search Path for Release. Auch eingestellt Überspringen Install = YES (Build-Einstellungen/Einsatz im RestKit-Projekt) und geändert:

#import <RestKit/RestKit.h> to "RestKit/RestKit.h" 

Hinweis. Überprüfen Sie auf der Registerkarte xcode preferences/locations, wo die abgeleiteten Daten gespeichert sind. Standard ist der eindeutige Build-Speicherort. Suchen Sie dann im Finder nach dem Ordner IntermediateBuildFilesPath und suchen Sie nach den fehlenden Kopfzeilen. Fügen Sie diesen Ordner dem Suchpfad hinzu.

+1

gute Teamarbeit: D –

+5

Ich kann bestätigen, dass das Hinzufügen von "$ (BUILD_ROOT)/../ IntermediateBuildFilesPath/Header" zu lösen nur für mich gelöst. Ich könnte später andere Probleme schaffen, indem ich die zusätzlichen Schritte nicht ausführe, aber für den Moment sieht es so aus, als würde ich gut archivieren. – ericWasTaken

+2

Ich habe auch ein Legacy-Projekt mit RestKit und das hat auch für mich funktioniert, danke! Wie Eric machte ich es nicht rekursiv und musste die # Import-Zeile nicht ändern. –

10

Ich hatte das gleiche Problem. Ich habe folgendes auf die Header-Suchpfade bauen Einstellungen mit nicht-rekursive ausgewählt, und es löste mein Problem:

„$ (build_dir) /../ IntermediateBuildFilesPath/Headers“

ich nicht haben Ändern Sie die Importsyntax oder ändern Sie andere Buildeinstellungen.

+0

https://forums.developer.apple.com/message/79355#79355 https: // github. com/RestKit/RestKit/Ausgaben/2341 –

3

ändern Header-Suchpfade zu:

"$(BUILD_DIR)/../IntermediateBuildFilesPath/Headers" (non-recursive) 

richtige Weg für mich war, zu. Für andere Teilprojekte sollten Sie Öffentliche Header Ordnerpfad (Einstellungen Erstellen> Verpackung) ändern

"../../Headers/$(TARGET_NAME)" 

in Einstellungen des Teilprojekts Ziel.

+0

Sie, mein Herr, rettete mein Leben :-) Ich war dabei, hier aufzugeben! Jetzt macht alles Sinn ... – Bartserk

+0

Das hat funktioniert. Vielen Dank! –

1

Alle oben genannten Antworten waren Teil der Lösung; In meinem Fall stieß ich jedoch auf ein Detail, das mich für eine Weile verwirrt hatte.

sich nach den Antworten oben, habe ich auch die Header-Suchpfade aktualisiert (unter Build-Einstellungen) durch Zusatz:

"$(BUILD_DIR)/../IntermediateBuildFilesPath/Headers" (non-recursive) 

aber das hat nicht funktioniert, bis ich ... realisiert

Ich war nur das Projekt aktualisieren, und das Ziel hielt die alten Pfade.

Also denken Sie daran, die Projektpfade sowie die Zielpfade zu aktualisieren.

ps, ​​ich musste keine RestKit Importanweisungen ändern.

+0

"* noch eine Anmerkung zu dieser Antwort *" -> mit 500 Wiederholungen, Sie sind mehr als qualifiziert, einen Kommentar zu der anderen Antwort zu hinterlassen. Wenn Sie sich entscheiden, stattdessen eine Antwort zu hinterlassen, verlinken Sie zumindest explizit zu der Zielantwort, auf die Sie sich beziehen, um in einem Jahr klarzustellen, wovon Sie sprechen. –

+0

@AndrasDeak, Alle oben genannten Antworten beziehen sich auf den gleichen Suchpfad, die gleiche Lösung. Ich musste feststellen, dass ich Importanweisungen nicht ändern musste. –

+1

Dann schlage ich vor, den ersten Satz umzuformulieren. Entfernen Sie vielleicht den ersten Satz und stellen Sie klar, dass die existierende Methode für Sie nicht funktioniert hat, und Ihre eigentliche Antwort ist die zweite Hälfte Ihres Beitrags :) Ich bin ein Laie, aber es könnte auch für andere verwirrend sein. (Nur ein Vorschlag, Sie können es nehmen oder lassen) –

Verwandte Themen