Fehler: "Die Sandbox ist nicht mit Podfile.lock synchronisiert ..." nach der Installation von RestKit mit Cocoapods


232

Nach der Installation von RestKit mit Cocoapods ist ein seltsames Problem aufgetreten. Nachdem ich die RestKit-Abhängigkeit für mein Projekt mit Cocoapods aufgelöst und versucht habe, sie zu erstellen, tritt folgender Fehler auf:

Die Sandbox ist nicht mit Podfile.lock synchronisiert. Führen Sie "pod install" aus oder aktualisieren Sie Ihre CocoaPods-Installation.

Ich habe versucht zu rennen pod install, aber keine Änderung.

Hier sind einige Aufnahmen: Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

  PODS:
  - AFNetworking (1.3.3)
  - RestKit (0.20.3):
    - RestKit/Core
  - RestKit/Core (0.20.3):
    - RestKit/CoreData
    - RestKit/Network
    - RestKit/ObjectMapping
  - RestKit/CoreData (0.20.3)
  - RestKit/Network (0.20.3):
    - AFNetworking (~> 1.3.0)
    - RestKit/ObjectMapping
    - RestKit/Support
    - SOCKit
  - RestKit/ObjectMapping (0.20.3)
  - RestKit/Search (0.20.3):
    - RestKit/CoreData
  - RestKit/Support (0.20.3):
    - TransitionKit (= 1.1.1)
  - RestKit/Testing (0.20.3)
  - SOCKit (1.1)
  - TransitionKit (1.1.1)

DEPENDENCIES:
  - RestKit (~> 0.20.0)
  - RestKit/Search (~> 0.20.0)
  - RestKit/Testing (~> 0.20.0)

SPEC CHECKSUMS:
  AFNetworking: 61fdd49e2ffe6380378df37b3b6e70630bb9dd66
  RestKit: 1f181c180105a92f11ec4f6cd7de37625e516d83
  SOCKit: 2f3bc4d07910de12dcc202815e07db68a3802581
  TransitionKit: d0e3344aac92991395d4c2e72d9c5a8ceeb12910

COCOAPODS: 0.29.0

2
Haben Sie versucht, Run 'pod install' or update your CocoaPods installation.wie durch den Fehler vorgeschlagen?
Wain

3
Absolut, ich habe das getan, aber kein Erfolg
Hashem Aboonajmi

1
Können Sie die Version von Restkit im Podfile.lockund in posten Pods/Manifest.lock? Dieser Fehler tritt auf, wenn diese nicht identisch sind.
MishieMoo

Ja, ich habe sie verglichen, sie sind genau identisch.
Hashem Aboonajmi

Der Fehler über dem "Sandbox" -Fehler ist "diff: Befehl nicht gefunden". Ich weiß nicht, ob eine Neuinstallation von diff das Problem beheben könnte, aber es kann ein Hinweis darauf sein, was passiert.
Thunder Rabbit

Antworten:


317

Ich konnte das beheben, indem ich CocoaPods aktualisierte.

I. Projektbereinigung

  1. Wählen Sie im Projektnavigator Ihr Projekt aus
  2. Wählen Sie Ihr Ziel
  3. Entfernen Sie alle libPods * .a unter Build-Phasen> Binär mit Bibliotheken verknüpfen

II. Aktualisieren Sie die CocoaPods

  1. Starten Sie Terminal und wechseln Sie in Ihr Projektverzeichnis.
  2. Aktualisieren Sie CocoaPods mit dem Befehl pod install

3
hat wie ein Zauber funktioniert, vielleicht
möchten

18
In Bezug auf I.3 - meinten Sie den Abschnitt "Phasen erstellen> Binär mit Bibliotheken verknüpfen"?
Kraftydevil

1
Wenn ich den Befehl pod install im Projektverzeichnis ausführe, wurde folgende Warnung angezeigt: Die Verwendung impliziter Quellen ist veraltet. Um weiterhin alle derzeit auf Ihrem Computer befindlichen Quellen zu verwenden, fügen Sie oben in Ihrer Pod-Datei Folgendes hinzu: source ' github.com/CocoaPods/Specs.git ' Ich habe diesen Link auch in die Pod-Datei eingefügt, aber das Gleiche ist passiert. bitte vorschlagen.
Mitesh Khatri

Darüber hinaus musste ich alle CocoaPod-bezogenen Build-Phasen wie "Check Pods Manifest.lock" und "Copy Pods Resources" entfernen.
JVillella

17
@ Valery Pavlov Diese Schritte haben funktioniert, aber nach einer erfolgreichen Projektbereinigung schlägt der Build sofort mit denselben 3 Fehlern fehl, die ich unten nicht loswerden kann. Ich habe versucht, alle Cocoapods vollständig zu entfernen, neu zu installieren, zu aktualisieren, all dies mit xcode-Neustarts usw. zu tun. Alle diese Funktionen im Terminal funktionieren erfolgreich, aber der Build schlägt weiterhin fehl. Irgendwelche weiteren Gedanken? Fehler: diff: /../Podfile.lock: Keine solche Datei oder kein solches Verzeichnis diff: /Manifest.lock: Kein solcher Datei- oder Verzeichnisfehler: Die Sandbox ist nicht mit Podfile.lock synchronisiert. Führen Sie "pod install" aus oder aktualisieren Sie Ihre CocoaPods-Installation.
Natur3

111

Nach vielen Versuchen konnte ich dieses Problem beheben. Die Variable $ {PODS_ROOT} wurde nicht gesetzt und ich mache unten Trick. Gehen Sie zu Build Phases -> Check Pods Manifest.lock und ersetzen Sie es

diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null

zu

diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null

Es hilft mir.


Warum wird $ PODS_ROOT nicht eingerichtet? Muss ich Pods für mein Projekt neu installieren?
Petr Syrov

2
Der Grund, warum $ PODS_ROOT nicht festgelegt wurde, liegt hauptsächlich darin, dass die von Cocoapods generierte .xcconfig-Datei nicht auf das Build-Ziel angewendet wird.
Fujia

@Fujia Wie wende ich eine .xcconfig-Datei an?
Darko Romanov

In meinem Fall habe ich PODS_ROOT = ${SRC_ROOT}/Podsin meiner xcconfig den gleichen Effekt eingestellt.
Grego

44

Wenn Sie alle Pods von Ihrem Ziel in der Poddatei entfernen, z

target 'myTarget' do
pod 'great-stuff', '~> 4.0'  // you deleted this last pod
end

Sie müssen diese Build- Schritte manuell aus Ihren Xcode-Ziel- Build-Phasen löschen :

  • Überprüfen Sie Pods Manifest.lock
  • Pod-Ressourcen kopieren

Cocoapods (aktuelle stabile Version 0.37.2) führt diese Bereinigung beim Ausführen nicht durch pod install.


Das hat bei mir funktioniert. Ich bin auf Swift 2 migriert und habe alle Pods auskommentiert. Ich habe nur einen der Pods wieder eingeschaltet, anstatt mich mit dem Löschen von Build-Phasen zu beschäftigen.
Brian.clear

Bingo! Ich habe Stunden damit verbracht, meinen Arbeitsbereich zu entfernen, Pods neu zu installieren usw. und nichts anderes hat funktioniert.
Oren

35

Ich hatte stundenlang gesucht und folgende Lösungen gefunden:

In meinem Fall funktioniert Methode 1.

Methode 1:

  1. Wählen Sie das Ziel aus> gehen Sie zu Phrasen erstellen > klicken Sie auf Binär mit Bibliotheken verknüpfen > entfernen Sie alle libPods.a- Dateien
  2. Öffnen Sie Terminal> Direkt zu Ihrem Projekt> Führen Sie Folgendes aus:

     pod install
    
  3. Projekt reinigen und bauen

ref.1

Methode 2:

  1. Öffnen Sie Terminal> Direkt zu Ihrem Projekt> Führen Sie Folgendes aus:

    pod deintegrate --verbose    
    pod install --verbose
    

ref.2

Methode 3:

  1. Wählen Sie das Ziel aus> gehen Sie zu Build Settings > klicken Sie auf "+"
  2. 2 benutzerdefinierte Einstellungen hinzufügen: [links = rechts]

    PODS_ROOT = ${SRCROOT}/Pods
    

    und

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

ref.3


Ich habe alle anderen Lösungen ausprobiert, aber nichts hat funktioniert. Methode 3 hat bei mir funktioniert.
Vinner

25

Das Entfernen von Pods aus dem Projekt und das erneute Installieren haben bei mir funktioniert.

Es gibt ein schönes GitHub-Repository , mit dem die Pods vollständig aus dem Projekt entfernt werden können.

Behalten Sie einfach die Sicherung Ihrer PodFile bei und führen Sie die folgenden Befehle aus.

  • gem install cocoapods-deintegrate
  • Edelstein installieren Cocoapods-sauber
  • Gehen Sie zum Projektverzeichnis und führen Sie pod deintegrate aus
  • Wieder laufen Pod erneut sauber aus
  • Führen Sie die Pod-Installation aus

Reinigen und laufen lassen.


1
Du bist großartig, nur deine hat für mich gearbeitet, vielen Dank
albert sh

Nachdem ich diese Befehle ausgeführt habe, erhalte ich eine erfolgreiche Build-Nachricht, aber jetzt scheint weder auf dem Simulator noch auf der Konsole etwas zu laufen. Weißt du warum das passiert ist?
Jorge Barrios

ACHTUNG: Build Works funktioniert, aber der Pod Clean verschwand vom Projektziel. Es wurden keine Archive generiert oder Apps erstellt.
Ruben

@ Ruben der verschwundene Inhalt wird bei "pod install" wieder regeneriert
Teena nath Paul

Trotzdem wird mein App-Symbol nach den von Ihnen erwähnten Schritten nicht mehr als Hauptprojekt angezeigt ... Es wird nur das Cordova-Logo angezeigt und es wird kein Build oder Archiv generiert.
Ruben

12

Nach dem Ändern des Zielnamens

Mein Problem war xcconfig mit alten Zielnamen.

  • Ging zur Projektdatei -> Info -> Konfiguration
  • Altes xcconfig entfernt (sowohl Debug als auch Release)
  • Pod installieren

Es würde auf neue aktualisiert.

Auch wenn Sie fehlende .h-Dateien hatten, ist dies der Grund (der Suchpfad für Pods-Header befindet sich in diesen xcconfig).


Die Auswahl Nonehat auch bei mir funktioniert. Ich hatte einen Tag lang damit zu kämpfen, um das Gimbal2 SDK in ein Ionic4-Projekt zu integrieren.
Russ

9

Wenn Sie einen Fehler wie den folgenden sehen:

diff: /../Podfile.lock: Keine solche Datei oder kein solches Verzeichnis diff: /Manifest.lock: Kein solcher Datei- oder Verzeichnisfehler: Die Sandbox ist nicht mit Podfile.lock synchronisiert. Führen Sie "pod install" aus oder aktualisieren Sie Ihre CocoaPods-Installation.

Dann gibt es ein Problem mit Cocoapods in Ihrem Projekt. Manchmal können Cocoapods nicht mehr synchron sein und Sie müssen Cocoapods neu starten. Sie sollten in der Lage sein, diesen Fehler zu beheben, indem Sie:

  1. Löschen der Datei Podfile.lock in Ihrem Projektordner
  2. Löschen des Pods-Ordners in Ihrem Projektordner
  3. Führen Sie 'pod install' in Ihrem Projektordner aus
  4. Führen Sie eine "Reinigung" in Xcode durch
  5. Erstellen Sie Ihr Projekt neu

2
Ich danke dir sehr. Du hast meinen Tag gerettet. In meinem Flutter-Projekt hat sonst nichts funktioniert.
nbloqs

Dies ist die einzige Lösung, die auch für mich funktioniert hat. Podfile.lock löschen. Seien Sie gewarnt, dass Sie dabei möglicherweise unerwartete Versions-Upgrades erhalten.
Santamanno

für flattern: lauf pod installin deinem flutter_project / ios
Kirill Karmazin

5

In meinem Fall habe ich nach der Integration der WatchKit-App denselben Fehler erhalten. Um das Problem zu lösen, musste ich beide Ziele von WatchKit in Podfile hinzufügen:

target 'MyProject WatchKit App' do
    platform :watchos, '2.0'
    shared_pods
end

target 'MyProject WatchKit App Extension' do
    platform :watchos, '2.0'
    shared_pods
end

PS: Vielleicht ist mir das passiert, weil ich MyProject WatchKit Appanfangs fälschlicherweise Pods für das Ziel installiert habe .


Ich denke du hast den Nagel auf den Kopf getroffen;)
Hackmodford

4

Ich habe meine Lösung gefunden: Ausführen: pod updatestatt pod install. Der Fehler wurde behoben!


Gut. Dadurch werden veraltete Pods aktualisiert. Stellen Sie also sicher, dass Sie dies wünschen.
ff10

4
  • Gehen Sie zu Phasen erstellen -> Pods Manifest.lock überprüfen
  • Ersetzen
${PODS_ROOT}/Manifest.lock

mit:

${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock

Bild einchecken:

Geben Sie hier die Bildbeschreibung ein


Dies funktionierte bei mir in einem Cordova iOS-Build, während die akzeptierte Antwort nicht funktionierte.
Bastian Blankenburg

3

Ich habe dieses Problem mit einer falsch konfigurierten xcconfig-Datei festgestellt.

Die von Pods generierte xcconfig war in der von mir verwendeten benutzerdefinierten xcconfig nicht korrekt # enthalten. Dies führte dazu, dass $ PODS_ROOT nicht gesetzt wurde, was diff "/../Podfile.lock" "/Manifest.lock"aus offensichtlichen Gründen zum Fehlschlagen führte, was Pods als Synchronisierungsproblem falsch interpretierten.


3

Für mich bestand das Problem darin, dass ich ein neues Ziel in meiner App erstellt habe, indem ich ein vorhandenes dupliziert habe, aber vergessen habe, das Ziel dem hinzuzufügen Podfile. Aus irgendeinem Grund funktionierte das geklonte Ziel tagelang ohne Probleme, aber nach einer Weile konnte es durch diesen Fehler nicht erstellt werden. Ich musste einen neuen Zieleintrag für mein geklontes Projektziel in der Poddatei erstellen und dann ausführen pod install.


2

Wenn Sie das Projekt von Github herunterladen oder von einem anderen Ort kopieren, ist die Abhängigkeitsbibliothek nicht vorhanden. Dieses Problem tritt auf.

Sie müssen nur cddas project/project_name directoryIn-Terminal verwenden, um lszu überprüfen, ob eine PodfileDatei vorhanden ist.

Wenn das vorhanden ist Podfile, müssen Sie nur die Abhängigkeiten installieren:

pod install

Vielen Dank - das hat mir sehr geholfen, als ich die von der Github-Website heruntergeladenen Flatterbeispiele ausgeführt habe und den gleichen Fehler erhalten habe. Ich habe für jeden Flatter-Beispielordner zum ios-Ordner navigiert und den Pod installiert, und dann hat die Flatter-App funktioniert.
Simon

Froh dir zu helfen.
Flugzeuge

2

Ich habe alles versucht, aber das Problem blieb bestehen. Danach habe ich das gemacht und es hat so schnell wie möglich funktioniert (so reibungslos wie möglich).

  1. Öffnen Sie die .xcworkspace-Datei.
  2. Wechseln Sie zum Legacy-Build-System, wenn Sie Cordova unter Xcode 10 verwenden.
  3. Gehe zum Ziel / Projekt von Podfile. Wählen Sie Deployment traget als 11+ aus
  4. Ändern Sie dann das Debug und geben Sie es in Pods-.build/release frei. Es war App.debug / release in meinem Fall. Bild angehängt. Ich hoffe es hilft. Ändern Sie die Debug-Version im Pod

2

Meine Arbeitsantwort lautet:

  1. Installieren Sie das Update Ihrer Cocoapods mit dem folgenden Befehl: pod update
  2. Installieren Sie Ihre neuen Pods mit diesem Befehl. Pod installieren
  3. Letzter Befehl: sudo gem install cocoapods.

2

Aus diesen Antworten hat sich für mich absolut nichts ergeben. Musste das Projekt erneut durch Ausführen erstellen cordova platform add ios. Was mir aufgefallen ist, selbst frisch generierte Projekte mit (in meinem Fall) Firebase-Pods haben die Fehlermeldung immer wieder verursacht. Meiner Meinung nach sieht es nach einem Fehler für einige (Firebase, RestKit) Pods in Xcodeoder aus CocoaPods. Um die Pods aufzunehmen, konnte ich einfach meine bearbeiten config.xmlund ausführen cordova platform add iOS, was alles automatisch für mich erledigte. Ich bin mir nicht sicher, ob es in allen Szenarien funktioniert.

Edit: Ich hatte eine Podfilevon vorherigen iOS/ Xcode, aber die neuesten von heute haben # DO NOT MODIFY -- auto-generated by Apache Cordovain der Podfile. Dies schaltete ein Licht in meinem Kopf ein, um den Ansatz zu versuchen. Sieht ein bisschen trivial aus, funktioniert aber und meine FirebaseFunktionen haben funktioniert.


Dies ist die einzige Methode, die bei mir funktioniert hat. Versuchte alle anderen. Ich habe Plattformen gelöscht und 'cordova platform add ios' neu installiert. Ich denke auch, dass ich eine frühere Plattform / iOS hatte, die ich auf einer früheren Version von xcode verwendet habe.
Heath vor

1

Das machte meinen Tag!

  1. Löschen der Datei Podfile.lock in Ihrem Projektordner
  2. Löschen des Pods-Ordners in Ihrem Projektordner
  3. Führen Sie die Pod-Installation in Ihrem Projektordner aus
  4. Führen Sie eine "Reinigung" in Xcode durch
  5. Erstellen Sie Ihr Projekt neu

Ich bestätige die Nachricht! Auch wenn Sie auf Flutter sind, vergessen Sie nichtflutter pub get
Kirill Karmazin

1

Wenn Sie das tun

pod install --verbose

Stelle sicher:

1- Sie befinden sich im richtigen Verzeichnis. Wenn ein Github-Projekt heruntergeladen wird, befindet sich meistens ein Hauptordner. Sie müssen sich im eigentlichen Projektnamenordner (Masterordner / Projektordner) im Terminal befinden, bevor Sie pod install --verbose aufrufen

2- Löschen Sie den alten Pod-Sperrordner und bereinigen Sie das Projekt mit xcode clean & do pod install.

3- Halten Sie Ihr RVM auf dem neuesten Stand.


1

Mein Problem war die Kakaofrucht-Version, also habe ich die neueste Version installiert mit: sudo gem install cocoapods --pre Dannpod update

Das hat bei mir funktioniert


1

Die Schritte, die für mich gearbeitet haben ( XCode 8.3.3/XCode 9 beta with a Swift 3.1 project)

 - Navigate to your project directory
 - pod install //which then asks you to do the next step
 - pod repo update //takes a while to update the repo
 - pod update
 - pod install
 - Close Xcode session
 - Open and Clean the project
 - Build/Run

Auch make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods. Damit sollten alle Fehler beim Verknüpfen behoben werden, z. B. "Apple Mach -O Linker-Befehl fehlgeschlagen".


1

Wenn Sie sich auf die Art und Weise bewerben, wie Project Cleanup und Ihr Projekt immer noch fehlerhaft sind.

Sie können zur Registerkarte Build-Phasen gehen und dann Check Pods Manifest.lockdas Skript suchen und entfernen.

Dann Befehl einen Ordner zu entfernen , Podswie dasrm -rf Pods

und dann müssen Sie Podfile.lock per Befehl entfernen rm Podfile.lock

Wahrscheinlich basierend auf einer Situation, in der Sie Dateien entfernen können your_project_name.xcworkspace

Schließlich benötigen Sie den Befehl, um Pod zu installieren pod install --repo-update.

Hoffentlich kommt diese Lösung auf Sie. Viel Spaß beim Codieren :)


1

Ich hatte den gleichen Fehler. Zuerst aktualisiere ich Cocoapods mit

sudo gem install cocoapods

Dann Pods mit dem Befehl Pod installieren installieren hat bei mir funktioniert.


1

Bitte führen Sie die folgenden Schritte aus:

1: Löschen der Datei Podfile.lock in Ihrem Projektordner

2: Löschen des Pods-Ordners in Ihrem Projektordner

3: Führen Sie 'pod install' in Ihrem Projektordner aus

4: Führen Sie eine "Reinigung" in Xcode durch

5: Erstellen Sie Ihr Projekt neu


1

Bei der Arbeit im Flattern wurde die Konfiguration aufgrund der vorhandenen Konfiguration nicht automatisch hinzugefügt.

Hinzufügen #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"zu Flutter/Release.xcconfigundFlutter/Debug.xcconfig

löste das Problem.


1

Führen Sie dies aus, und Ihre Fehler verschwinden

rm -rf Pods && gem install cocoapods && pod install


1

Ich habe dieses Problem in einem Flutter-Projekt gesehen. Ich habe gerade das iOS-Modul in xCode geöffnet und Build Clean Folder hat für mich funktioniert.


1

Versuchen Sie, das richtige Ziel einzurichten Podfileund dann pod updateoder auszuführenpod install

ios Plattformziel


1

Ich hatte das gleiche Problem mit Ionic-3, ich habe einige der oben genannten Schritte ausgeführt, aber keiner von ihnen hat für mich funktioniert.

Für Ionic Entfernen Sie die ios-Plattform

$ ionic cordova platform remove ios
$ ionic cordova platform add ios

Öffnen Sie xcode und versuchen Sie zu erstellen. das hat bei mir geklappt :-)


1

Ich habe mein Problem mit der ionischen App behoben, indem ich Cordova Version 9 installiert habe. Ich habe alle oben genannten Lösungen ausprobiert, die größtenteils mit xcode verknüpft sind, und habe auch nicht für meine ionische App funktioniert

Wenn jemand das gleiche Problem mit seiner Cordova-App hat, aktualisieren Sie diese bitte auf Cordova 9, um dies zu beheben


0

wenn deine Hülsen leer sind

  1. Entfernen Sie die Ressourcen für Kopier-Pods und überprüfen Sie das Pod-Manifest.
  2. Sperren Sie die Einstellungen für die Erstellungsphase Ihres Projekts
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.