Kesalahan: "Kotak pasir tidak sinkron dengan Podfile.lock ..." setelah menginstal RestKit dengan cocoapods


232

Saya mengalami masalah aneh setelah menginstal RestKit dengan cocoapods. setelah menyelesaikan ketergantungan RestKit untuk proyek saya dengan cocoapods dan mencoba membangunnya, saya menghadapi kesalahan ini:

Kotak pasir tidak sinkron dengan Podfile.lock. Jalankan 'pod install' atau perbarui instalasi CocoaPods Anda.

Saya mencoba berlari pod install, tetapi tidak ada perubahan.

Ini beberapa foto: masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

  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
Apakah Anda mencoba Run 'pod install' or update your CocoaPods installation.seperti yang disarankan oleh kesalahan?
Wain

3
tentu saja, saya melakukan itu, tetapi tidak berhasil
Hashem Aboonajmi

1
Bisakah Anda memposting versi Restkit di Podfile.lockand in Pods/Manifest.lock? Kesalahan itu terjadi ketika ini tidak sama.
MishieMoo

ya, saya membandingkannya, mereka persis identik.
Hashem Aboonajmi

Kesalahan di atas kesalahan "kotak pasir" adalah "diff: perintah tidak ditemukan" Saya tidak tahu apakah menginstal ulang diff dapat memperbaiki masalah, tetapi mungkin petunjuk tentang apa yang terjadi.
Thunder Rabbit

Jawaban:


318

Saya dapat memperbaikinya dengan memperbarui CocoaPods.

I. Pembersihan Proyek

  1. Di navigator proyek, pilih proyek Anda
  2. Pilih target Anda
  3. Hapus semua libPods * .a di Build Phases> Link Binary With Libraries

II Perbarui CocoaPods

  1. Luncurkan Terminal dan buka direktori proyek Anda.
  2. Perbarui CocoaPods menggunakan perintah pod install

3
bekerja seperti pesona, Anda mungkin ingin memperbarui jawaban Anda, katakanlah jalankan perintah pod install
ManicMonkOnMac

18
Mengenai I.3 - maksud Anda bagian 'Bangun Fase> Tautan Biner Dengan Perpustakaan'?
kraftydevil

1
Ketika saya menjalankan perintah instal pod di direktori proyek saya menerima peringatan di bawah ini: Penggunaan sumber implisit telah ditinggalkan. Untuk terus menggunakan semua sumber yang saat ini ada di mesin Anda, tambahkan berikut ini di bagian atas Podfile Anda: source ' github.com/CocoaPods/Specs.git ' Saya juga menambahkan tautan ini dalam file pod tetapi hal yang sama terjadi. tolong sarankan.
Mitesh Khatri

Selain itu, saya harus menghapus semua fase build terkait CocoaPod seperti 'Periksa Pods Manifest.lock' dan 'Salin Sumber Daya Pods'.
JVillella

17
@ Valery Pavlov Langkah-langkah ini berhasil tetapi setelah proyek berhasil bersih, build gagal segera dengan 3 kesalahan yang sama yang sepertinya tidak bisa saya singkirkan di bawah ini. Saya mencoba sepenuhnya menghapus semua cocoapod, menginstal ulang, memperbarui, melakukan semua ini dengan restart xcode dan lain-lain. Semua ini di terminal berfungsi dengan baik tetapi build terus gagal. Ada pemikiran lebih lanjut? Kesalahan: diff: /../Podfile.lock: Tidak ada file atau direktori yang berbeda: /Manifest.lock: Tidak ada kesalahan file atau direktori seperti itu: Kotak pasir tidak sinkron dengan Podfile.lock. Jalankan 'pod install' atau perbarui instalasi CocoaPods Anda.
natur3

111

Setelah banyak upaya saya berhasil memperbaiki masalah ini. Variabel $ {PODS_ROOT} tidak disetel dan saya lakukan trik di bawah ini. Pergi ke Build Phases -> Periksa Pods Manifest.lock dan ganti

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

untuk

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

Itu membantu saya.


Mengapa $ PODS_ROOT tidak disetel? Apakah saya perlu menginstal ulang pod untuk proyek saya?
Petr Syrov 3-15

2
Alasan mengapa $ PODS_ROOT tidak disetel terutama karena file .xcconfig yang dihasilkan oleh cocoapods tidak diterapkan pada target build.
Fujia

@Fujia, bagaimana cara menerapkan file .xcconfig?
Darko Romanov

Dalam kasus saya, saya mengatur PODS_ROOT = ${SRC_ROOT}/Podsxcconfig saya untuk efek yang sama.
grego

44

Jika Anda menghapus semua pod dari target Anda di Podfile, mis

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

Anda harus menghapus langkah-langkah build ini secara manual dari Target Xcode target Build Anda :

  • Periksa Pods Manifest.lock
  • Salin sumber daya Pod

Cocoapods (versi stabil saat ini 0.37.2) tidak melakukan pembersihan ini ketika Anda menjalankan pod install.


Ini berhasil untuk saya. Id telah bermigrasi ke swift 2 dan telah mengomentari semua pod - saya hanya mengaktifkan salah satu pod kembali daripada mengacaukan penghapusan fase pembuatan.
brian.clear

bingo! saya menghabiskan berjam-jam menghapus ruang kerja saya, menginstal ulang pod, dll dan tidak ada yang berhasil.
Oren

35

Saya telah mencari selama berjam-jam dan saya menemukan solusi sebagai berikut:

Dalam kasus saya, metode 1 berfungsi.

Metode 1:

  1. pilih target> pergi ke Build Phrases > klik Link Binary With Libraries > hapus semua file libPods.a
  2. buka Terminal> langsung ke proyek Anda> jalankan:

     pod install
    
  3. membersihkan dan membangun proyek

ref.1

Metode 2:

  1. buka Terminal> langsung ke proyek Anda> jalankan:

    pod deintegrate --verbose    
    pod install --verbose
    

ref.2

Metode 3:

  1. pilih target> pergi ke Pengaturan Bangun > klik tanda "+"
  2. tambahkan 2 Pengaturan Buatan Pengguna: [ke kiri = ke kanan]

    PODS_ROOT = ${SRCROOT}/Pods
    

    dan

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

ref.3


Saya mencoba semua solusi lain tetapi tidak ada yang berhasil. Metode 3 bekerja untuk saya.
Vinner

25

Menghapus pod dari proyek dan menginstal ulang bekerja untuk saya.

Ada repositori GitHub yang bagus yang dapat sepenuhnya menghapus pod dari proyek.

Simpan saja cadangan PodFile Anda dan jalankan perintah di bawah ini.

  • instal cocoapods-deintegrate
  • instal cocoapods-clean
  • Buka direktori proyek dan jalankan pod deintegrate
  • Sekali lagi jalankan pod clean
  • Jalankan instal pod

Bersihkan dan jalankan.


1
Anda hebat, hanya milik Anda yang bekerja untuk saya, terima kasih banyak
albert sh

Setelah menjalankan perintah ini saya mendapatkan pesan build yang berhasil, tetapi sekarang, tidak ada yang tampak berjalan pada simulator maupun konsol. Tahukah Anda mengapa ini terjadi?
Jorge Barrios

HATI-HATI: Build works, tetapi pod pod tidak menampilkan target proyek. Tidak ada arsip yang dibuat atau dibangun aplikasi.
Ruben

@ Ruben konten yang hilang akan dibuat kembali di "pod install" lagi
Teena nath Paul

Meskipun demikian, setelah melakukan langkah-langkah yang Anda sebutkan ikon aplikasi saya tidak muncul lagi sebagai proyek utama ... Hanya logo cordova yang muncul, dan tidak ada build atau arsip yang dihasilkan.
Ruben

12

Setelah mengubah nama target

Masalah saya adalah xcconfig dengan nama target lama.

  • Pergi ke file proyek -> info -> konfigurasi
  • Xcconfig lama yang dihapus (baik Debug & Rilis)
  • instal pod

Itu akan memperbarui ke yang baru.

Juga jika Anda kehilangan file .h yang menjadi alasannya (jalur pencarian header pod ada di xcconfig ini)


Memilih Nonebekerja untuk saya juga. Saya berjuang dengan ini selama sehari mencoba mengintegrasikan SDK Gimbal2 ke dalam proyek Ionic4.
Russ

9

Jika Anda melihat kesalahan seperti berikut:

diff: /../Podfile.lock: Tidak ada file atau direktori seperti itu diff: /Manifest.lock: Tidak ada kesalahan file atau direktori tersebut: Kotak pasir tidak sinkron dengan Podfile.lock. Jalankan 'pod install' atau perbarui instalasi CocoaPods Anda.

Lalu ada masalah dengan Cocoapods di proyek Anda. Terkadang cocoapod dapat keluar dari sinkronisasi dan Anda perlu memulai kembali cocoapods. Anda seharusnya dapat menyelesaikan kesalahan ini dengan:

  1. Menghapus file Podfile.lock di folder proyek Anda
  2. Menghapus folder Pods di folder proyek Anda
  3. Jalankan 'pod install' di folder proyek Anda
  4. Lakukan "Bersihkan" di Xcode
  5. Bangun kembali proyek Anda

2
Terima kasih banyak. Anda membuat hari saya. Tidak ada yang berhasil dalam proyek Flutter saya.
nbloqs

Ini adalah satu-satunya solusi yang bekerja untuk saya juga. Menghapus Podfile.lock. Berhati-hatilah karena Anda mungkin mendapatkan peningkatan versi yang tidak terduga saat melakukan ini.
santamanno

untuk flutter: jalankan pod installdi flutter_project / ios Anda
Kirill Karmazin

5

Dalam kasus saya, saya mendapat kesalahan yang sama setelah mengintegrasikan aplikasi WatchKit. Untuk mengatasi masalah saya perlu menambahkan kedua target WatchKit di 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: Mungkin ini terjadi pada saya karena saya keliru memasang polong untuk MyProject WatchKit Apptarget awalnya.


Saya pikir Anda memukul paku di kepala;)
Hackmodford

4

Saya menemukan solusi saya: Jalankan: pod updatebukan pod install. Kesalahan telah diperbaiki!


Baik. Ini akan memperbarui pod yang usang, jadi pastikan itulah yang Anda inginkan.
ff10

4
  • Pergi ke Bangun Fase -> Periksa Pods Manifest.lock
  • Menggantikan
${PODS_ROOT}/Manifest.lock

dengan:

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

Periksa dalam gambar:

masukkan deskripsi gambar di sini


Ini bekerja untuk saya di build Cordova iOS, sementara jawaban yang diterima tidak bekerja.
Bastian Blankenburg

3

Saya mengalami masalah ini dengan file xcconfig yang salah konfigurasi.

Xcconfig yang dihasilkan Pods tidak dimasukkan dengan benar # pada xcconfig penyesuaian yang saya gunakan. Hal ini menyebabkan $ PODS_ROOT tidak disetel yang mengakibatkan kegagalan diff "/../Podfile.lock" "/Manifest.lock", untuk alasan yang jelas, yang disalahartikan oleh Pods sebagai masalah sinkronisasi.


3

Bagi saya masalahnya adalah saya membuat target baru di aplikasi saya dengan menduplikasi yang sudah ada, tetapi lupa menambahkan target ke Podfile. Untuk beberapa alasan, target yang dikloning berfungsi selama berhari-hari tanpa masalah, tetapi setelah beberapa saat ia gagal dibangun oleh kesalahan ini. Saya harus membuat entri target baru untuk target proyek kloning saya di Podfile kemudian jalankan pod install.


2

Jika Anda mengunduh proyek dari github atau menyalin dari tempat lain, maka pustaka dependensi tidak ada, akan ada masalah ini.

Anda hanya perlu cdke project/project_name directorydalam terminal, digunakan lsuntuk memeriksa apakah ada Podfilefile yang.

jika ada Podfile, Anda hanya perlu menginstal dependensi:

pod install

Terima kasih - ini benar-benar banyak membantu saya ketika saya menjalankan contoh flutter yang diunduh dari situs github mereka dan saya telah menerima kesalahan yang sama. Saya menavigasi ke folder ios untuk setiap folder contoh flutter dan melakukan instal pod dan kemudian aplikasi flutter bekerja.
Simon

senang bisa membantumu.
Pesawat

2

Saya mencoba segalanya, tetapi masalahnya tetap ada. Setelah itu saya melakukan ini dan berhasil SECEPATNYA (Sehalus Kemungkinan).

  1. Buka file .xcworkspace.
  2. Ubah ke sistem build lawas jika menggunakan Cordova di Xcode 10.
  3. Pergi ke target / proyek Podfile. Pilih Deployment traget sebagai 11+
  4. Kemudian Ubah debug dan lepaskan ke Pods-.build/release. Itu adalah App.debug / rilis dalam case.Pic saya terlampir. Semoga ini bisa membantu. Mengubah rilis Debug di Pod

2

Jawaban kerja saya adalah:

  1. Instal perbarui cocoapod Anda dengan perintah ini: pembaruan pod
  2. Instal pod baru Anda dengan perintah ini. instal pod
  3. Perintah terakhir: sudo gem install cocoapods.

2

Sama sekali tidak ada yang berhasil untuk saya dari jawaban ini. Harus membuat proyek lagi dengan menjalankan cordova platform add ios. Apa yang saya perhatikan, bahkan proyek yang baru dibuat dengan (dalam kasus saya) Firebase pods menyebabkan pesan kesalahan berulang-ulang. Menurut pendapat saya terlihat seperti bug untuk beberapa (Firebase, RestKit) pod di Xcodeatau CocoaPods. Untuk menyertakan pod, saya cukup mengedit config.xmldan menjalankan cordova platform add iOS, yang melakukan semuanya untuk saya secara otomatis. Tidak yakin apakah itu akan berfungsi di semua skenario.

Sunting: Saya punya Podfiledari sebelumnya iOS/ Xcode, tetapi yang terbaru pada hari ini ada # DO NOT MODIFY -- auto-generated by Apache Cordovadi Podfile. Ini menyalakan lampu di kepalaku untuk mencoba pendekatan. Tampak agak sepele, tetapi berfungsi dan Firebasefitur saya berhasil.


1
Ini adalah satu-satunya metode yang bekerja untuk saya. Mencoba semua yang lain. Saya menghapus platform dan menginstal ulang 'cordova platform add ios'. Saya juga berpikir saya memiliki platform / ios sebelumnya yang saya gunakan pada versi xcode sebelumnya.
Heath

1

Ini membuat hariku!

  1. Menghapus file Podfile.lock di folder proyek Anda
  2. Menghapus folder Pods di folder proyek Anda
  3. Jalankan instal pod di folder proyek Anda
  4. Lakukan "Bersihkan" di Xcode
  5. Bangun kembali proyek Anda

Saya menyetujui pesan ini! Juga jika Anda menggunakan Flutter jangan lupaflutter pub get
Kirill Karmazin

1

Saat kamu melakukan

pod install --verbose

yakinkan:

1- Anda berada di direktori yang benar. Sering kali, ketika proyek github diunduh, akan ada folder master. Anda harus berada di dalam folder nama proyek yang sebenarnya (folder masterf / proyek) di terminal sebelum Anda memanggil pod install --verbose

2- Hapus folder kunci pod lama lalu bersihkan proyek menggunakan xcode clean & do pod install.

3 - Jaga agar rvm Anda diperbarui.


1

Masalah saya adalah versi pod kakao jadi saya menginstal yang terbaru dengan: sudo gem install cocoapods --pre Lalupod update

Itu berhasil bagi saya


1

Langkah-langkah yang berhasil untuk saya ( 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

Juga make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods. Itu harus menyelesaikan kesalahan dengan menghubungkan seperti "perintah Apple Mach -O Linker gagal"


1

Jika Anda menerapkan cara Project Cleanup dan proyek Anda masih kesalahan.

Anda dapat pergi ke tab Bangun Fase dan kemudian Temukan Check Pods Manifest.lockdan hapus skrip.

Kemudian ketik perintah untuk menghapus folder Podsseperti iturm -rf Pods

dan kemudian Anda perlu menghapus Podfile.lock dengan perintah rm Podfile.lock

Mungkin, berdasarkan situasi Anda dapat menghapus file your_project_name.xcworkspace

Akhirnya, Anda memerlukan perintah untuk menginstal Pod pod install --repo-update.

Semoga solusi ini muncul bersama Anda. Selamat coding :)


1

Saya memiliki kesalahan yang sama. Pertama saya memperbarui cocoapod menggunakan

sudo gem install cocoapods

kemudian instal pod menggunakan perintah install Pod bekerja untuk saya.


1

Silakan lakukan langkah-langkah berikut:

1: Menghapus file Podfile.lock di folder proyek Anda

2: Menghapus folder Pods di folder proyek Anda

3: Jalankan 'instal pod' di folder proyek Anda

4: Lakukan "Bersihkan" dalam Xcode

5: Bangun kembali proyek Anda


1

Bagi saya, bekerja dalam flutter, konfigurasi tidak secara otomatis ditambahkan karena konfigurasi yang ada.

Menambahkan #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"untuk Flutter/Release.xcconfigdanFlutter/Debug.xcconfig

memecahkan masalah.


1

Jalankan ini, dan kesalahan Anda akan hilang

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


1

Saya menghadapi masalah ini dalam proyek Flutter. Saya baru saja membuka Modul iOS di xCode dan Build Clean Folder berfungsi untuk saya.


1

Cobalah untuk mengatur target yang benar di Podfilekemudian jalankan pod updateataupod install

target platform ios


1

Saya memiliki masalah yang sama dengan Ionic-3, saya melakukan beberapa langkah yang disebutkan di atas tetapi tidak ada yang bekerja untuk saya.

Untuk Ionic Hapus platform ios

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

Buka xcode lalu coba membangun. ini bekerja untuk saya :-)


1

Memperbaiki masalah saya dengan aplikasi ion dengan menginstal cordova versi 9, mencoba semua solusi di atas yang sebagian besar terkait dengan xcode tidak bekerja untuk aplikasi ion saya

Jika ada yang menghadapi masalah yang sama dengan aplikasi cordova mereka perbarui ke cordova 9 untuk memperbaikinya


0

jika pod Anda kosong

  1. menghapus sumber daya salinan pod dan periksa manifes pod.
  2. mengunci dari pengaturan fase membangun proyek Anda
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.