Frage

Diese Frage bezieht sich auf Restkit 0.9.x.

Wenn Sie neu bei Restkit sind, sollten Sie das neuere verwenden 0.10.x Zweig.

Ich habe kürzlich ein Projekt geerbt, das verwendet (restkit.org). Ich habe angefangen, einen Zweig zu verwenden (402-New-Build-Prozess) Das ist kompatibel mit .

Mein Projekt und alle Beispiele für Projekte erstellen und laufen, aber wenn es darum geht, eine App zu archivieren, schlägt der Build fehl:

/Users/AUser/Documents/SubFolder/stable-branches/project-iOS-client/RestKit/Examples/RKTwitterCoreData/Classes/RKTwitterAppDelegate.m:9:9: fatal error: 'RestKit/RestKit.h' file not found [2]
 #import <RestKit/RestKit.h>
         ^
1 error generated.

Xcode - failed to archive rest kit example project

Ich habe dem gefolgt Installation Fehlerbehebung Auf dem Projekt Wiki, aber das hat nicht funktioniert.

Wie per Blakes Antwort Ich baue zum abgeleiteten Verzeichnis:

DerivedData directory settings

Außerdem habe ich versucht, die Headersuche auf diese festzulegen (in vielen Kombinationen [nur Vermutungen]):

"$ (Build_dir)/restkit/build"
"$ (Source_Root)/Restkit/Build"
"$ (Source_root) /../../ Build"
"$ (Build_dir) /../../ Build"

War es hilfreich?

Lösung

!!! Aktualisieren Sie die neueste Version der Filiale !!!

Ich habe gerade RKCatalog und RktwitterCoredata als Archiv auf Xcode 4.2 ohne Probleme gebaut. Ich versage aufgrund eines Problems mit Codesignierung. Haben Sie bestätigt, dass Sie mit dem abgeleiteten Verzeichnis aufbauen:

Restkit geht davon aus, dass Sie ein modernes Xcode -Projektgebäude für das abgeleitete Verzeichnis verwenden. Bestätigen Sie Ihre Einstellungen über das Menü "Datei"> "Projekteinstellungen ...". Klicken Sie auf der Registerkarte "Build" in dem geöffneten Blatt auf die Schaltfläche "Erweitert ..." und bestätigen Sie, dass Ihr "Build -Ort" der "abgeleitete Datenort" ist.

Ich kann Änderungen vorstellen, die die Header an einen bekannten Standort resultieren, aber ich hatte gehofft, dass die Standardisierung der abgeleiteten Daten den Prozess vereinfachen würde.

Andere Tipps

Ich denke, all diese Korrekturen waren Stiche im Dunkeln oder fühlten sich zumindest für mich so. Ich erwartete die Hälfte, eines zu lesen, wie ich ein paar Haare von einer jungen Jungfrau bekommen und über den Mac verbrannt habe.

Wenn es für Sie in Dev kompiliert, aber nicht für das Archivieren ist, ist es verpflichtet, etwas Einfaches zu sein. Zumindest war es für mich.

Meine Quelldateien waren nicht am richtigen Ort:

Der Suchheader wurde auf "$ (source_root)/restkit/build" eingestellt.

Aber ich hatte einfach die Proj -Datei aus dem Ort gezogen, an dem ich sie in Xcode heruntergeladen habe. Dies war nie ein Problem beim Kompilieren für Debugg usw. Gerade beim Archivieren, also habe ich es für eine Weile nicht erkennen.

Stellen Sie nur sicher, dass der Weg zu REindkit/Build, wo sich die tatsächlichen Dateien befinden.

Im Gegensatz zu allen Kreuzungen, die ich gelesen habe, wurde es für mich behoben. Als würde man Header in eine Gruppe usw. bewegen ... Was für eine Menge Müll das war.

Viel Glück, hoffe das hilft. Dank des Restkit -Teams ist dies wirklich ein großartiger Rahmen.

Jamie

Ich baue gegen die Entwicklung Zweig und integrieren Restkit als submodul in meinem Wurzel -Git -Ordner

+ root project folder
|--+ RestKit
|--+ <Projectname> 
   |--+ <Projectname>.xcodeproj

Also verwende ich die folgenden Suchpfade

"$(BUILT_PRODUCTS_DIR)/../../Headers"
"$(SOURCE_ROOT)/../RestKit/Build"

Um die Antwort von Jamie Reynolds zu wiederholen, haben die meisten (wenn nicht alle) von Ihnen Ihre Header -Suchpfade auf "$ (source_root)/restkit/bauen" festgelegt, dies ist in Ordnung, wenn Sie das Debuggen und auch für das Archivieren in Ordnung haben, es sei denn, Ihr RESTKIT Eigentlich in diesem Verzeichnis.

Wie die Mehrheit von Ihnen da draußen haben Sie wahrscheinlich gerade mit dem Framework aus dem Standard-Download-Verzeichnis verknüpft. In diesem Fall gehen Sie zu Finder, öffnen Sie Restkit-> CMD+I, um die Informationen zu sehen und den Verzeichnispfad auszuwählen, kopieren und ersetzen und ersetzen "$ (Source_Root)/Restkit/Build", vergessen Sie nicht die Klammern.

Mine war "/user/edwin-b/downloads/restkit-restkit-8d0d9fc/build" wie ein Zauber

Ich folgte den in mehreren Antworten beschriebenen Schritten, und das Problem war ein Problem mit den Header -Suchpfaden. Irgendwann zwischen dem Hinzufügen von Restkit in Xcode 4.2 und dem Versuch, in Xcode 4.3.1 zu archivieren (ich hatte zweimal über das Projekt des Projekts und die Bereitstellung eines Builds aktualisiert) wurde ein Komma in die Header -Suchpfad -Liste injiziert, die Xcode nicht mehr analysieren konnte. Infolgedessen war der Eintrag für den Header -Standort von Restkit:

"$(SOURCE_ROOT)/RestKit/Build", 

Wenn es einfach hätte sein sollen:

"$(SOURCE_ROOT)/RestKit/Build"

Während dies keine Probleme verursachte, die auf Geräte oder SIM aufgebaut wurden, verursachte ich, sobald ich versucht habe, zu archivieren, den vom OP gemeldeten Fehler.

Fügen Sie Ihnen einfach "$ (Source_Root)/Restkit/Build" hinzu Ziel "Header -Suchpfade" dank dessen Antworten.

Ich bin mir sicher, dass einige davon überflüssig sind, aber ich habe gerade über 3 Stunden damit verbracht, dieses Ding zu debuggen, und habe mein Projekt dabei fast ruiniert. Also ... hier hast du es.

Erstellen Sie aus Gründen Ihrer Vernunft eine ZIP -Sicherung Ihres Projekts, bevor Sie sich mit den Rübenprojektpfaden verleumden, alle Dateien (insbesondere das Projekt) für die Kontrolle der Steuerung, überqueren Sie die Finger, verbrennen Sie ein jungfräuliches Haar über Ihren Mac und fahren Sie dann fort.

Nachdem ich sie nacheinander beseitigt hatte, schränkte ich sie auf diese Linie ein und erlaubte mir das Archivieren. "$ (Source_root) /../ restkit/build" restkit ist ein Ordner auf dem gleichen Niveau wie der Hauptprojektordner

solution

Ich füge diese Antwort hinzu, damit ich sie später finden kann - sie stimmt mit einigen Antworten oben überein. Schauen Sie sich Ihre Ziele "Header -Suchpfade" an - und fügen Sie je nachdem, wo sich Ihr Restkit -Verzeichnis in Ihrem Projekt befindet, eine der oben angegebenen Zeilen in Alex Stones -Antwort. In meinem Fall war es "$ (Source_Root) /../ Restkit/Build"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top