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
Hashem Aboonajmi
sumber
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
Pak Fahrenheit
sumber
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.

Pavel Shorokhov
sumber
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.

100 gram
sumber
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

Eddie
sumber
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.

Teena nath Paul
sumber
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)

avishic
sumber
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
David
sumber
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.

Shyngys Kassymov
sumber
Saya pikir Anda memukul paku di kepala;)
Hackmodford
4

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

giapnh
sumber
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

The_PratikshaK
sumber
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.

Mensly
sumber
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.

gklka
sumber
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
pesawat terbang
sumber
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
riang
sumber
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.
Gurpreet Singh
sumber
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.

Daniel Danielecki
sumber
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
alitosuner
sumber
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.

Gokhan Dilek
sumber
1

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

Itu berhasil bagi saya

DariusV
sumber
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"

Naishta
sumber
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 :)

Cuong Nguyen
sumber
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.

Gurjinder Singh
sumber
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

IKKA
sumber
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.

Moritz Morgenroth
sumber
1

Jalankan ini, dan kesalahan Anda akan hilang

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

Siraj Alam
sumber
1

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

Berkembang
sumber
1

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

target platform ios

tyoc213
sumber
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 :-)

Rajat.r2
sumber
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

Satpute Vikrant
sumber
0

jika pod Anda kosong

  1. menghapus sumber daya salinan pod dan periksa manifes pod.
  2. mengunci dari pengaturan fase membangun proyek Anda
dewanshu sharma
sumber