Errore: "La sandbox non è sincronizzata con Podfile.lock ..." dopo l'installazione di RestKit con cocoapods


232

Ho riscontrato uno strano problema dopo l'installazione di RestKit con cocoapods. dopo aver risolto la dipendenza RestKit per il mio progetto con cocoapods e aver provato a costruirlo, ho riscontrato questo errore:

Il sandbox non è sincronizzato con Podfile.lock. Esegui "installazione pod" o aggiorna l'installazione di CocoaPods.

Ho provato a correre pod install, ma nessun cambiamento.

Ecco alcuni scatti: inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

  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
Hai provato Run 'pod install' or update your CocoaPods installation.come suggerito dall'errore?
Guadagna il

3
assolutamente, l'ho fatto, ma senza successo
Hashem Aboonajmi il

1
Puoi pubblicare la versione di Restkit in Podfile.locke in Pods/Manifest.lock? Tale errore si verifica quando questi non sono gli stessi.
MishieMoo,

sì, li ho confrontati, sono esattamente identici.
Hashem Aboonajmi,

L'errore sopra l'errore "sandbox" è "diff: comando non trovato" Non so se la reinstallazione di diff possa risolvere il problema, ma potrebbe essere un suggerimento su ciò che sta accadendo.
Thunder Rabbit,

Risposte:


318

Sono stato in grado di risolvere questo problema aggiornando CocoaPods.

I. Pulizia del progetto

  1. Nel navigatore del progetto, seleziona il tuo progetto
  2. Seleziona il tuo obiettivo
  3. Rimuovi tutti i libPods * .a in Fasi di costruzione> Collega binario con librerie

II. Aggiorna CocoaPods

  1. Avvia Terminal e vai alla directory del tuo progetto.
  2. Aggiorna CocoaPods usando il comando pod install

3
ha funzionato come un incantesimo, potresti voler aggiornare la tua risposta, dire di eseguire il comando pod install
ManicMonkOnMac

18
Per quanto riguarda I.3, intendevi la sezione "Build Phases> Link Binary With Libraries"?
kraftydevil,

1
Quando eseguo il comando pod install nella directory del progetto che ho ricevuto sotto avviso: l'uso di fonti implicite è stato deprecato. Per continuare a utilizzare tutte le fonti attualmente presenti sul tuo computer, aggiungi quanto segue all'inizio del tuo Podfile: fonte ' github.com/CocoaPods/Specs.git ' Ho anche aggiunto questo link nel file pod ma è successa la stessa cosa. per favore, suggerisci.
Mitesh Khatri,

Inoltre, ho dovuto rimuovere tutte le fasi di compilazione relative a CocoaPod come "Check Pods Manifest.lock" e "Copia risorse pod".
JVillella,

17
@ Valery Pavlov Questi passaggi hanno funzionato ma dopo un progetto di successo pulito, la build fallisce immediatamente con gli stessi 3 errori di cui non riesco a liberarmi. Ho provato a rimuovere completamente tutti i cocoapodi, reinstallare, aggiornare, fare tutto questo con riavvii xcode ed ecc. Tutti questi nel terminale funzionano correttamente ma la build continua a fallire. Qualche altro pensiero? Errori: diff: /../Podfile.lock: nessun file o directory diff: /Manifest.lock: nessun file o errore directory: Sandbox non è sincronizzato con Podfile.lock. Esegui "installazione pod" o aggiorna l'installazione di CocoaPods.
natur3

111

Dopo molti tentativi sono riuscito a risolvere questo problema. La variabile $ {PODS_ROOT} non è stata impostata e lo faccio di seguito. Vai a Build Phases -> Check Pods Manifest.lock e sostituisci

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

per

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

Mi aiuta.


Perché $ PODS_ROOT non è impostato? Devo reinstallare i pod per il mio progetto?
Petr Syrov,

2
Il motivo per cui $ PODS_ROOT non è stato impostato è principalmente dovuto al fatto che il file .xcconfig generato da cocoapods non è applicato al target di compilazione.
Fujia,

@Fujia come posso applicare un file .xcconfig?
Darko Romanov,

Nel mio caso ho impostato il PODS_ROOT = ${SRC_ROOT}/Podsmio xcconfig per lo stesso effetto.
Grego,

44

Se rimuovi tutti i pod dal tuo obiettivo nel Podfile, ad es

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

sarà necessario eliminare manualmente queste build passi dalla vostra Xcode bersaglio fasi di creazione :

  • Controlla Pods Manifest.lock
  • Copia le risorse del pod

Cocoapods (attuale versione stabile 0.37.2) non esegue questa pulizia durante l'esecuzione pod install.


Questo ha funzionato per me. Stavo migrando su Swift 2 e avevo commentato tutti i pod - ho appena riacceso uno dei pod piuttosto che fare casino con l'eliminazione delle fasi di compilazione.
brian.clear,

Bingo! ho passato ore a rimuovere il mio spazio di lavoro, reinstallare i pod, ecc. e nient'altro ha funzionato.
Oren,

35

Ho cercato per ore e ho trovato soluzioni come segue:

Nel mio caso, il metodo 1 funziona.

Metodo 1:

  1. scegli il target> vai a Build Phrases > fai clic su Link Binary With Libraries > rimuovi tutti i file libPods.a
  2. apri Terminale> direttamente al tuo progetto> esegui:

     pod install
    
  3. pulire e costruire il progetto

rif.1

Metodo 2:

  1. apri Terminale> direttamente al tuo progetto> esegui:

    pod deintegrate --verbose    
    pod install --verbose
    

rif.2

Metodo 3:

  1. scegli il target> vai su Build Settings > fai clic sul segno "+"
  2. aggiungi 2 impostazioni definite dall'utente: [a sinistra = a destra]

    PODS_ROOT = ${SRCROOT}/Pods
    

    e

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

rif.3


Ho provato tutte le altre soluzioni ma niente ha funzionato. Il metodo 3 ha funzionato per me.
Vinner,

25

La rimozione dei pod dal progetto e la reinstallazione hanno funzionato per me.

C'è un bel repository GitHub che può rimuovere completamente i pod dal progetto.

Conserva il backup del tuo PodFile ed esegui i comandi seguenti.

  • gem install cocoapods-deintegrate
  • gem installa cocoapods-clean
  • Vai alla directory del progetto ed esegui pod deintegrate
  • Ancora una volta eseguire pod pulito
  • Esegui installazione pod

Pulisci e corri.


1
Sei grande, solo il tuo ha funzionato per me, grazie mille
albert sh

Dopo aver eseguito questi comandi ricevo un messaggio di compilazione riuscito, ma ora non sembra funzionare nulla sul simulatore né sulla console. Sai perché è successo?
Jorge Barrios,

BE AWARE: Build funziona, ma il pod pulito è scomparso dall'obiettivo del progetto. Non sono stati generati archivi né creati app.
Ruben

@Ruben il contenuto scomparso si rigenererà nuovamente su "installazione pod"
Teena nath Paul

Nonostante ciò, dopo aver fatto i passaggi che hai citato l'icona della mia app non appare più come il progetto principale ... Appare solo il logo di cordova e non viene generato alcun build o archivio.
Ruben,

12

Dopo aver cambiato il nome del target

Il mio problema era xcconfig con vecchi nomi target.

  • Sono andato a proiettare il file -> info -> configurazione
  • Rimosso il vecchio xcconfig (sia Debug che Release)
  • installazione pod

Si aggiorna a quelli nuovi.

Anche se mancavano i file .h questo è il motivo (il percorso di ricerca dell'intestazione dei pod si trova in questi xcconfig)


La scelta ha Nonefunzionato anche per me. Ho lottato con questo per un giorno cercando di integrare l'SDK di Gimbal2 in un progetto Ionic4.
Russ,

9

Se visualizzi un errore simile al seguente:

diff: /../Podfile.lock: nessun file o directory diff: /Manifest.lock: nessun file o errore directory: Sandbox non è sincronizzato con Podfile.lock. Esegui "installazione pod" o aggiorna l'installazione di CocoaPods.

Quindi c'è un problema con Cocoapods nel tuo progetto. A volte i cocoapodi possono non essere sincronizzati ed è necessario riavviare i cocoapodi. Dovresti essere in grado di risolvere questo errore:

  1. Eliminazione del file Podfile.lock nella cartella del progetto
  2. Eliminazione della cartella Pods nella cartella del progetto
  3. Esegui "installazione pod" nella cartella del progetto
  4. Fai un "Clean" in Xcode
  5. Ricostruisci il tuo progetto

2
Grazie mille. Mi hai reso felice. Nient'altro ha funzionato nel mio progetto Flutter.
nbloqs

Questa è l'unica soluzione che ha funzionato anche per me. Eliminazione di Podfile.lock. Tieni presente che potresti ottenere aggiornamenti di versione imprevisti durante questa operazione.
santamanno

per flutter: corri pod installnel tuo flutter_project / ios
Kirill Karmazin il

5

Nel mio caso, ho riscontrato lo stesso errore dopo l'integrazione dell'app WatchKit. Per risolvere il problema avevo bisogno di aggiungere entrambi i target di WatchKit in Podfile:

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: Forse questo è successo per me perché ho erroneamente installato pod per MyProject WatchKit Apptarget inizialmente.


Penso che tu abbia colpito l'unghia sulla testa;)
Hackmodford,

4

Ho trovato la mia soluzione: Esegui: pod updateanziché pod install. L'errore è stato corretto!


Bene. Questo aggiornerà i pod obsoleti, quindi assicurati che sia quello che vuoi.
ff10

4
  • Vai a Build Phases -> Check Pods Manifest.lock
  • Sostituire
${PODS_ROOT}/Manifest.lock

con:

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

Controlla nell'immagine:

inserisci qui la descrizione dell'immagine


Questo ha funzionato per me in una build Cordova per iOS, mentre la risposta accettata non ha funzionato.
Bastian Blankenburg,

3

Ho riscontrato questo problema con un file xcconfig non configurato correttamente.

Xcconfig generato da Pods non è stato correttamente #incluso nel custom xcconfig che stavo usando. Ciò ha comportato l'impossibilità di impostare $ PODS_ROOT con conseguente errore diff "/../Podfile.lock" "/Manifest.lock", per ovvi motivi, che Pods interpreta erroneamente come un problema di sincronizzazione.


3

Per me il problema era che ho creato un nuovo target nella mia app duplicandone uno esistente, ma ho dimenticato di aggiungere il target al Podfile. Per qualche motivo, l'obiettivo clonato ha funzionato per giorni senza problemi, ma dopo un po 'non è riuscito a creare questo errore. Ho dovuto creare una nuova voce di destinazione per il mio obiettivo di progetto clonato nel Podfile, quindi eseguire pod install.


2

Se scarichi il progetto da github o ne copi da un'altra posizione, la libreria delle dipendenze non esiste, si verificherà questo problema.

Hai solo bisogno di cdal project/project_name directoryterminale, l'uso lsper verificare se c'è un Podfilefile.

se esiste Podfile, è sufficiente installare le dipendenze:

pod install

Grazie - questo mi ha aiutato molto quando stavo eseguendo gli esempi di flutter scaricati dal loro sito Web Github e avevo ricevuto lo stesso errore. Sono passato alla cartella ios per ciascuna cartella di esempio di flutter e ho fatto l'installazione del pod e quindi l'app flutter ha funzionato.
Simon,

felice di aiutarti.
aereo

2

Ho provato di tutto, ma il problema persisteva. Dopo di che ho fatto questo e ha funzionato al più presto (il più liscio possibile).

  1. Apri il file .xcworkspace.
  2. Passare al sistema di build legacy se si utilizza Cordova su Xcode 10.
  3. Vai al target / progetto di Podfile. Seleziona Tragitto distribuzione come 11+
  4. Quindi modifica il debug e rilascialo in Pods-.build/release. Nel mio caso è stato App.debug / release. Foto allegata. Spero che sia d'aiuto. Modifica la versione di debug in Pod

2

La mia risposta operativa è:

  1. Installa aggiorna i tuoi cocoapods con questo comando: aggiornamento pod
  2. Installa i tuoi nuovi pod con questo comando. installazione pod
  3. Ultimo comando: sudo gem installa cocoapods.

2

Niente ha funzionato per me da queste risposte. Ho dovuto creare di nuovo il progetto eseguendo cordova platform add ios. Quello che ho notato, anche il progetto appena generato con (nel mio caso) i pod Firebase ha causato il messaggio di errore più e più volte. Secondo me sembra un bug per alcuni pod (Firebase, RestKit) in Xcodeo CocoaPods. Per includere i pod potrei semplicemente modificare il mio config.xmled eseguire cordova platform add iOS, che ha fatto tutto automaticamente per me. Non sono sicuro se funzionerà in tutti gli scenari però.

Modifica: ho avuto un Podfileda precedente iOS/ Xcode, ma il più recente di oggi ha # DO NOT MODIFY -- auto-generated by Apache Cordovanel Podfile. Questo ha acceso una luce nella mia testa per provare l'approccio. Sembra un po 'banale, ma funziona e le mie Firebasefunzionalità hanno funzionato.


1
Questo è l'unico metodo che ha funzionato per me. Ho provato tutti gli altri. Ho cancellato le piattaforme e fatto una reinstallazione di 'cordova platform add ios'. Anch'io penso di avere una precedente piattaforma / iOS che avevo usato su una versione precedente di xcode.
Heath,

1

Mi ha cambiato la giornata in positivo!

  1. Eliminazione del file Podfile.lock nella cartella del progetto
  2. Eliminazione della cartella Pods nella cartella del progetto
  3. Eseguire l'installazione del pod nella cartella del progetto
  4. Fai un "Clean" in Xcode
  5. Ricostruisci il tuo progetto

Approvo questo messaggio! Inoltre, se sei su Flutter, non dimenticare di farloflutter pub get
Kirill Karmazin

1

Quando lo fai

pod install --verbose

assicurarsi:

1- sei nella directory corretta. La maggior parte delle volte, quando viene scaricato un progetto github, ci sarà una cartella principale. Devi essere all'interno della cartella del nome del progetto attuale (cartella principale / cartella del progetto) nel terminale prima di invocare pod install --verbose

2- Elimina la vecchia cartella di blocco pod, quindi pulisci il progetto usando xcode clean ed esegui l'installazione del pod.

3- Tieni aggiornato il tuo camper.


1

Il mio problema era la versione dei baccelli di cacao, quindi ho installato l'ultimo con: sudo gem install cocoapods --pre Quindipod update

Questo ha funzionato per me


1

I passaggi che hanno funzionato per me ( 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

Inoltre make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods. Ciò dovrebbe risolvere eventuali errori di collegamento come "Comando Apple Mach -O Linker non riuscito"


1

Se stai facendo domanda per il modo in cui Project Cleanup e il tuo progetto continuano a presentare errori.

Puoi andare alla scheda Crea fasi, quindi Trova Check Pods Manifest.locke rimuovi lo script.

Quindi digitare il comando per rimuovere la cartella in Podsquel modorm -rf Pods

e quindi è necessario rimuovere Podfile.lock dal comando rm Podfile.lock

Probabilmente, in base a una situazione è possibile rimuovere il file your_project_name.xcworkspace

Infine, è necessario il comando per installare Pod pod install --repo-update.

Speriamo che questa soluzione ti venga in mente. Buona programmazione :)


1

Ho avuto lo stesso errore. Per prima cosa aggiorno i cocoapods usando

sudo gem install cocoapods

quindi installare i pod usando il comando Pod install ha funzionato per me.


1

Si prega di fare i seguenti passi:

1: eliminazione del file Podfile.lock nella cartella del progetto

2: eliminazione della cartella Pods nella cartella del progetto

3: esegui 'pod pod' nella cartella del tuo progetto

4: Esegui un "Clean" in Xcode

5: ricostruisci il tuo progetto


1

Per me, lavorando in flutter, la configurazione non è stata aggiunta automaticamente a causa della configurazione esistente.

Aggiunta #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"a Flutter/Release.xcconfigeFlutter/Debug.xcconfig

risolto il problema.


1

Esegui questo e i tuoi errori svaniranno

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


1

Ho affrontato questo problema in un progetto Flutter. Ho appena aperto il modulo iOS in xCode e Build Clean Folder ha funzionato per me.


1

Prova a impostare la destinazione corretta Podfilee quindi esegui pod updateopod install

obiettivo piattaforma iOS


1

Ho avuto lo stesso problema con Ionic-3, ho fatto alcuni passaggi sopra menzionati ma nessuno di loro ha funzionato per me.

Per Ionic Rimuovere la piattaforma ios

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

Apri xcode quindi prova a creare. questo ha funzionato per me :-)


1

Risolto il mio problema con l'app ionica installando cordova versione 9, ho provato la soluzione sopra descritta principalmente collegata con xcode né funzionante per la mia app ionica

Se qualcuno si trova ad affrontare lo stesso problema con la sua app Cordova, si prega gentilmente di aggiornare Cordova 9 per risolvere questo problema


0

se i tuoi pod sono vuoti

  1. rimuovere le risorse dei pod di copia e controllare il manifest dei pod.
  2. blocca dalle impostazioni delle fasi di costruzione del tuo progetto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.