Hata: RestKit'i cocoapods ile yükledikten sonra “Korumalı alan Podfile.lock ile senkronize değil…”


232

RestKit'i cocoapods ile yükledikten sonra garip bir sorunla karşılaştım. cocoapods ile projem için RestKit bağımlılığını çözdükten ve oluşturmaya çalıştıktan sonra bu hatayla karşılaşıyorum:

Korumalı alan, Podfile.lock ile senkronize değil. 'Pod kurulumu' çalıştırın veya CocoaPods kurulumunuzu güncelleyin.

Koşmayı denedim pod installama değişiklik olmadı.

İşte bazı çekimler: resim açıklamasını buraya girin

resim açıklamasını buraya girin

  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
Denediniz mi Run 'pod install' or update your CocoaPods installation.hata önerdiği gibi?
VVain

3
kesinlikle, bunu yaptım, ama başarı yok
Hashem Aboonajmi

1
İçinde Restkit sürümünü gönderebilir miyim Podfile.lockve Pods/Manifest.lock? Bu hata, bunlar aynı olmadığında oluşur.
MishieMoo

evet, ben onları karşılaştırdım, tamamen aynılar.
Hashem Aboonajmi

"Sandbox" hatasının üstündeki hata "diff: komut bulunamadı" dır. Diff'in yeniden yüklenmesi sorunu çözebilir mi bilmiyorum, ama ne olduğuna dair bir ipucu olabilir.
Thunder Rabbit

Yanıtlar:


319

CocoaPod'ları güncelleyerek bunu düzeltmeyi başardım.

I. Proje Temizleme

  1. Proje gezgininde projenizi seçin
  2. Hedefinizi seçin
  3. Derleme Aşamaları> İkili Kitaplıklarıyla Bağla bölümündeki tüm libPod'ları * .a kaldırın

II. CocoaPod'ları Güncelle

  1. Terminal'i başlatın ve proje dizininize gidin.
  2. Komutunu kullanarak CocoaPod'ları güncelleme pod install

3
bir cazibe gibi çalıştı, sen cevap güncelleme demek isteyebilirsiniz yo çalıştırmak komut pod yüklemek
ManicMonkOnMac

18
I.3 ile ilgili olarak - 'Derleme Aşamaları> İkili Kütüphanelere Bağla' bölümü mü demek istediniz?
kraftydevil

1
Aşağıda aldığım proje dizininde pod install komutunu çalıştırdığımda uyarı: Örtük kaynakların kullanımı kullanımdan kaldırıldı. Şu anda makinenizde bulunan tüm kaynakları kullanmaya devam etmek için, Podfile'ınızın üstüne aşağıdakileri ekleyin: source ' github.com/CocoaPods/Specs.git ' Bu bağlantıyı da pod dosyasına ekledim ama aynı şey oldu. lütfen önerin.
Mitesh Khatri

Buna ek olarak 'Check Pods Manifest.lock' ve 'Pods kaynaklarını kopyala' gibi tüm CocoaPod ile ilgili tüm yapı aşamalarını kaldırmak zorunda kaldım.
JVillella

17
@ Valery Pavlov Bu adımlar işe yaradı ama başarılı bir proje temizlendikten sonra, derhal başarısız olabileceğim aynı 3 hata ile derleme başarısız oluyor. Tamamen tüm cocoapods kaldırma, yeniden yükleme, güncelleme, xcode yeniden başlatmalar vb ile tüm bunları yapmaya çalıştı. Tüm bu terminal başarıyla gerçekleştirmek ama yapı başarısız devam ediyor. Başka düşünceniz var mı? Hatalar: diff: /../Podfile.lock: Böyle bir dosya veya dizin yok diff: /Manifest.lock: Böyle bir dosya veya dizin hatası yok: Sandbox, Podfile.lock ile senkronize değil. 'Pod kurulumu' çalıştırın veya CocoaPods kurulumunuzu güncelleyin.
natur3

111

Birçok denemeden sonra bu sorunu çözmeyi başardım. Değişken $ {PODS_ROOT} ayarlanmadı ve hile altında yapıyorum. Derleme Aşamaları -> Bakla Manifest.lock Dosyasını Kontrol Edin ve değiştirin

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

için

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

Bana yardım ediyor.


$ PODS_ROOT neden ayarlanmadı? Projem için bölmeleri yeniden yüklemem gerekir mi?
Petr Syrov

2
$ PODS_ROOT'un ayarlanmamasının nedeni, temel olarak cocoapods tarafından oluşturulan .xcconfig dosyasının oluşturma hedefine uygulanmamış olmasıdır.
Fujia

@Fujia .xcconfig dosyasını nasıl uygularım?
Darko Romanov

Benim durumumda PODS_ROOT = ${SRC_ROOT}/Podsxcconfig içinde aynı etkiyi ayarladım .
grego

44

Pod bölmesindeki hedefinizdeki tüm bölmeleri kaldırırsanız, ör.

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

bu derleme adımlarını Xcode hedef Derleme Aşamalarınızdan manuel olarak silmeniz gerekir :

  • Bakla Kontrol Manifest.lock
  • Pod kaynaklarını kopyala

Cocoapods (geçerli kararlı sürüm 0.37.2), çalıştırdığınızda bu temizlemeyi gerçekleştirmiyor pod install .


Bu benim için çalıştı. Kimliği 2 hızlı geçiş ve tüm bakla yorum vardı - ben sadece bir inşa inşa aşamaları silme ile uğraşmak yerine geri bakla döndü.
brian. Açık

Bingo! i çalışma alanı kaldırma, bakla, vb yeniden yükleme saat geçirdim ve başka bir şey çalıştı.
Ören

35

Saatlerce aradım ve aşağıdaki gibi çözümler buldum:

Benim durumumda, yöntem 1 çalışır.

Yöntem 1:

  1. hedefi seçin> İfadeler Oluştur'a gidin > İkili Kitaplıklarıyla Bağla'yı tıklayın > tüm libPods.a dosyalarını kaldır
  2. Terminal'i açın> doğrudan projenize> çalıştırın:

     pod install
    
  3. temizle ve inşa et projesi

ref.1

Yöntem 2:

  1. Terminal'i açın> doğrudan projenize> çalıştırın:

    pod deintegrate --verbose    
    pod install --verbose
    

poz 2

Yöntem 3:

  1. hedefi seçin> Oluşturma Ayarları'na gidin > "+" işaretini tıklayın
  2. 2 Kullanıcı Tanımlı Ayar ekle: [sola = sağa]

    PODS_ROOT = ${SRCROOT}/Pods
    

    ve

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

ref.3


Diğer tüm çözümleri denedim ama hiçbir şey işe yaramadı. Yöntem 3 benim için çalıştı.
Vinner

25

Projeden kapsülleri kaldırmak ve yeniden yüklemek benim için çalıştı.

Güzel GitHub deposu varBölmeleri projeden tamamen kaldırabilecek var.

PodFile'ınızın yedeğini tutmanız ve aşağıdaki komutları çalıştırmanız yeterlidir.

  • mücevher yükleme cocoapods-deintegrate
  • mücevher yükleme cocoapods-clean
  • Proje dizinine gidin ve pod deintegrate komutunu çalıştırın
  • Tekrar kapsülü temiz çalıştırın
  • Kapsül yüklemesini çalıştır

Temizleyin ve çalıştırın.


1
Harikasın, sadece seninki benim için çalıştı, çok teşekkürler
albert sh

Bu komutları çalıştırdıktan sonra başarılı bir derleme mesajı alıyorum, ancak şimdi simülatörde veya konsolda hiçbir şey görünmüyor. Bunun neden olduğunu biliyor musun?
Jorge Barrios

DİKKAT EDİN: İnşaat işleri yapın, ancak kapsül temizliği proje hedefini ortadan kaldırdı. Hiçbir arşiv oluşturulmadı veya uygulama oluşturuldu.
Ruben

@Kaydedilen içeriği tekrar "kapsül kurulumu" nda yeniden oluşturacak
Teena nath Paul

Buna rağmen, bahsettiğiniz adımları uyguladıktan sonra uygulama simgesim artık ana proje olarak görünmüyor ... Yalnızca cordova logosu görünüyor ve hiçbir yapı veya arşiv oluşturulmuyor.
Ruben

12

Hedef adını değiştirdikten sonra

Benim sorunum eski hedef adları ile xcconfig oldu.

  • Proje dosyasına gittik -> bilgi -> yapılandırma
  • Eski xcconfig kaldırıldı (Hata Ayıkla ve Bırak)
  • pod kurulum

Yeni olanlara güncellenir.

Ayrıca, eksik .h dosyalarınız varsa (pods başlık arama yolu bu xcconfig'de)


Seçim Nonede benim için çalıştı. Gimbal2 SDK'sını Ionic4 projesine entegre etmeye çalışan bir gün boyunca bununla uğraşıyordum.
Russ

9

Aşağıdaki gibi bir hata görüyorsanız:

diff: /../Podfile.lock: Böyle bir dosya veya dizin yok diff: /Manifest.lock: Böyle bir dosya veya dizin hatası yok: Sandbox, Podfile.lock ile senkronize değil. 'Pod kurulumu' çalıştırın veya CocoaPods kurulumunuzu güncelleyin.

Sonra projenizde Cocoapod'larla ilgili bir sorun var. Bazen kokoapodlar senkronizasyondan çıkabilir ve kokoapodları yeniden başlatmanız gerekir. Bu hatayı şu şekilde çözebilmelisiniz:

  1. Proje klasörünüzdeki Podfile.lock dosyasını silme
  2. Proje klasörünüzdeki Bölmeler klasörünü silme
  3. Proje klasörünüzde 'pod install' komutunu çalıştırın
  4. Xcode'da "Temiz" yapın
  5. Projenizi yeniden oluşturun

2
Çok teşekkür ederim. Günümü gün ettin. Flutter projemde başka hiçbir şey işe yaramadı.
nbloqs

Benim için de işe yarayan tek çözüm bu. Podfile.lock siliniyor. Bunu yaparken bazı beklenmedik sürüm yükseltmeleri alabileceğiniz konusunda uyarınız.
santamanno

için: pod installflutter_project / ios'ta koş
Kirill Karmazin

5

Benim durumumda, WatchKit uygulamasını entegre ettikten sonra aynı hatayı aldım. Sorunu çözmek için Podfile'da WatchKit'in her iki hedefini de eklemem gerekiyordu:

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: Belki de bu benim için oldu çünkü MyProject WatchKit Appbaşlangıçta yanlışlıkla hedef için kapsüller yükledim .


Sanırım kafasına çiviyi vurdun;)
Hackmodford

4

Çözümümü buldum: Run: pod updateyerine pod install. Hata düzeltildi!


İyi. Bu, eski kapsülleri güncelleyecektir, bu yüzden istediğiniz şey olduğundan emin olun.
ff10

4
  • Git Aşama kurmak -> Bölmeler Manifest.lock Kontrol
  • değiştirmek
${PODS_ROOT}/Manifest.lock

ile:

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

Check in resmi:

resim açıklamasını buraya girin


Bu benim için bir Cordova iOS derlemesinde çalıştı, kabul edilen cevap işe yaramadı.
Bastian Blankenburg

3

Yanlış yapılandırılmış bir xcconfig dosyası ile bu sorunla karşılaştım.

Podlar tarafından oluşturulan xcconfig, kullandığım xcconfig özelliğine doğru şekilde dahil edilmedi. Bu, $ PODS_ROOT'un ayarlanmamasına neden oldu; bunun diff "/../Podfile.lock" "/Manifest.lock"nedeni, Pod'ların bir senkronizasyon sorunu olarak yanlış yorumladığı başarısızlıkla sonuçlandı .


3

Benim için sorun, mevcut bir kopyayı kopyalayarak uygulamamda yeni bir hedef belirlememdi, ancak hedefi hedefine eklemeyi unuttum Podfile. Bazı nedenlerden dolayı, klonlanan hedef günlerce sorunsuz çalıştı, ancak bir süre sonra bu hata ile oluşturulamadı. Podfile'daki klonlanmış proje hedefim için yeni bir hedef girişi oluşturmak ve ardından çalıştırmak zorunda kaldım pod install.


2

Projeyi github'dan indirir veya başka bir yerden kopyalarsanız, bağımlılık kütüphanesi mevcut değildir, bu sorun olacaktır.

Sadece gerek cdiçin project/project_name directoryterminal kullanımda lsbir olup olmadığını kontrol etmek Podfiledosyası.

varsa Podfile, sadece bağımlılıkları yüklemeniz gerekir:

pod install

Teşekkürler - bu onların github web sitesinden indirilen çarpıntı örneklerini çalıştırırken gerçekten çok yardımcı oldu ve aynı hatayı aldım. Her flutter örnek klasörü için ios klasörüne geçtim ve pod'u yükledim ve flutter uygulaması çalıştı.
Simon

size yardımcı olmaktan memnuniyet duyarız.
uçak

2

Her şeyi denedim, ama sorun devam etti. Bundan sonra bunu yaptım ve ASAP çalıştı (Mümkün olduğunca pürüzsüz).

  1. .Xcworkspace dosyasını açın.
  2. Xcode 10'da Cordova kullanıyorsanız eski oluşturma sistemine geçin.
  3. Podfile hedefine / projesine gidin. Dağıtım hedefini 11+ olarak seçin
  4. Sonra hata ayıklamayı değiştirin ve Pods-.build/release sürümüne bırakın. Benim durumumda App.debug / sürümü oldu. Umarım yardımcı olur. Pod'da Hata Ayıklama Sürümünü Değiştirme

2

Çalışma cevabım:

  1. Bu komutla cocoapod'larınızı güncelleyin: pod update
  2. Yeni bölmelerinizi bu komutla yükleyin. pod kurulum
  3. Son bir komut: sudo gem install cocoapods.

2

Tamamen hiçbir şey benim için bu cevaplardan işe yaramadı. Projeyi tekrar çalıştırarak yaratmak zorunda kaldım cordova platform add ios. Ne farkettim, hatta (benim durumumda) Firebase kapsülleri ile yeni oluşturulan proje hata mesajı tekrar tekrar neden oldu. Bence bazı (Firebase, RestKit) kapsülleri için bir hata gibi görünüyor Xcodeveya CocoaPods. Bölmeleri dahil etmek için, benim için her şeyi otomatik olarak yapan basitçe düzenleyip config.xmlçalıştırabilirim cordova platform add iOS. Yine de tüm senaryolarda çalışıp çalışmayacağından emin değilim.

Düzenleme: Bir vardı PodfileÖnceki iOS/ Xcodefakat bugün itibariyle yeni sahip # DO NOT MODIFY -- auto-generated by Apache Cordovaiçinde Podfile. Bu yaklaşımı denemek için kafamda bir ışık yaktı. Biraz önemsiz görünüyor, ama çalışıyor ve Firebaseözelliklerim işe yaradı.


1
Benim için işe yarayan tek yöntem bu. Diğerlerini denedim. Platformları sildim ve 'cordova platform ios ekleme'yi yeniden yükledim. Ben de xcode önceki bir sürümünde kullanılan önceki platformları / ios olduğunu düşünüyorum.
Heath

1

Bu benim günümü yaptı!

  1. Proje klasörünüzdeki Podfile.lock dosyasını silme
  2. Proje klasörünüzdeki Bölmeler klasörünü silme
  3. Proje klasörünüzde kapsül kurulumunu yürütün
  4. Xcode'da "Temiz" yapın
  5. Projenizi yeniden oluşturun

Bu mesajı onaylıyorum! Ayrıca Flutter'da isenizflutter pub get
Kirill Karmazin

1

Ne zaman yaparsın

pod install --verbose

emin olmak:

1- doğru dizindesiniz. Çoğu zaman, bir github projesi indirildiğinde, bir ana klasör olacaktır. Pod kurulumunu başlatmadan önce terminaldeki gerçek proje adı klasörünün (masterfolder / proje klasörü) içinde olmanız gerekir --verbose

2- Eski bölme kilidi klasörünü silin ve xcode clean & do bölme kurulumu ile projeyi temizleyin.

3- RVM'nizi güncel tutun.


1

Benim sorunum kakao bakla sürümü oldu, bu yüzden en son yükledim: sudo gem install cocoapods --pre Sonrapod update

Bu benim için çalıştı


1

Benim için işe yarayan adımlar ( 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

Ayrıca make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods. Bu, "Apple Mach -O Linker komutu başarısız oldu" gibi bağlantı ile ilgili hataları çözmelidir.


1

Proje Temizleme yoluna başvuruyorsanız ve projeniz hala hata veriyor .

Sen sekme gidebilirsiniz Yapı Faz ve sonra bulun Check Pods Manifest.lockve komut dosyasını kaldırmak.

Sonra Podsböyle bir klasörü kaldırmak için command yazınrm -rf Pods

ve sonra Podfile.lock komutunu kaldırmanız gerekir rm Podfile.lock

Muhtemelen, dosyayı kaldırabileceğiniz bir duruma dayanır your_project_name.xcworkspace

Son olarak, Pod'u kurmak için komuta ihtiyacınız var pod install --repo-update.

Umarım, bu çözüm size gelir. Mutlu kodlama :)


1

Aynı hatayla karşılaştım. Önce cocoapod'ları kullanarak

sudo gem install cocoapods

sonra benim için çalıştı Pod kurulum komutunu kullanarak bakla yükleyin.


1

Lütfen aşağıdaki adımları uygulayın:

1: Proje klasörünüzdeki Podfile.lock dosyasını silme

2: Proje klasörünüzdeki Bölmeler klasörünü silme

3: Proje klasörünüzde 'pod install' komutunu çalıştırın

4: Xcode'da "Temiz" yapın

5: Projenizi yeniden oluşturun


1

Benim için, çarpıntıda çalışırken, mevcut yapılandırma nedeniyle yapılandırma otomatik olarak eklenmedi.

Ekleme #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"için Flutter/Release.xcconfigveFlutter/Debug.xcconfig

sorunu çözdü.


1

Bunu çalıştırın, hatalarınız kaybolacak

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


1

Bu problemle bir Flutter projesinde karşılaştım. İOS Modülünü xCode'da açtım ve Build Clean Folder benim için çalıştı.


1

Doğru hedefi belirlemeye çalışın Podfileve ardından pod updateveyapod install

ios platform hedefi


1

Ionic-3 ile aynı sorunu yaşadım, yukarıda belirtilen adımlardan bazılarını yaptım ama hiçbiri benim için çalışmadı.

İyonik için ios platformunu kaldırın

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

Xcode'u açın ve oluşturmaya çalışın. bu benim için çalıştı :-)


1

Cordova sürüm 9'u yükleyerek iyonik uygulama ile ilgili sorunum düzeltildi, çoğunlukla xcode ile bağlantılı olan yukarıdaki çözümlerin hiçbirini denemedim.

Herkes kendi cordova uygulaması ile aynı sorunla karşı karşıya kalırsanız, bunu düzeltmek için cordova 9'a güncelleyin


0

bölmeleriniz boşsa

  1. kopya bölme kaynaklarını kaldırın ve bölmeleri kontrol edin.
  2. projenizin derleme aşama ayarlarından kilitle
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.