Proje Derlemesinde CocoaPods Hataları


178

CocoaPods kullanan bir proje oluşturamıyorum. Aşağıdaki hataları alıyorum:

diff: /../Podfile.lock: No such file or directory
diff: Manifest.lock: No such file or directory error: 
The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.`

$ pod installiyi çalışıyor gibi görünüyor ve Podsbenim çalışma alanıma bir proje ekliyor . Denedim $ pod updateama bu yardımcı olmuyor.

Görünüşe göre PODS_ROOTayarlanmadı.

Podfile:

platform :ios, '6.0'

workspace 'Example.xcworkspace'
xcodeproj 'example/Example.xcodeproj' 

pod 'TestFlightSDK', '~> 1.3.0-beta.5'
pod 'TestFlightLogger', '~> 0.0.2'
pod 'CocoaLumberjack', '~> 1.6.2'
pod 'Reachability', '~> 3.1.0'
pod 'SBJson', '~> 3.2'
pod 'MKMapViewZoom', '~> 1.0.0'

3
Basit bir "pod install" bunu düzelt :)
onmyway133

Önemli! [!] From now on use MyProject.xcworkspace.eski değil .xcodeproj
Dawid Drozd

Bir emülatörde test ettiğinizde sadece beyaz bir ekran var
desigNerd

Yanıtlar:


171

Pod dosyamda büyük değişiklikler yaptığımda da benzer bir sorun yaşadım. Benim çözüm çalışma alanı dosyasını kaldırmak ve pod installyeniden çalıştırmak oldu:

rm -rf MyProject.xcworkspace
pod install

17
Kokoododların düzgün takılmadığı anlamına gelir. koşmaksudo gem install cocoapods
asgoth

4
gem install cocoapodsdaha da iyidir. Çoğu zaman sudotaşlar ile gerekli olmamalıdır.
PatrickNLT

5
Cevabınız benim günümü yaptı. Saatlerce takılıp kaldım. şapka kapalı
shaikh

Bunun için teşekkürler, hatayı düzeltti. FWIW, I got the error after doing agem update cocoapods
rounak

Sabit sorun. "Pod güncellemesi" gerçekleştirilirken hata
oluştu

68

TLDR: Bu büyük olasılıkla Xcode ile ilgili bir hatadır ve projeyi kapatıp yeniden açmak genellikle en basit çözümdür . Diğer her şeyin düzgün yapılandırıldığını varsayarsak .


PodsDizini silerken ve çalıştırırken bazen aynı hatayı alıyorum pod install.

Proje bilgilerinde her şey doğru görünüyor:

resim açıklamasını buraya girin

Ancak, hedefin Kullanıcı Tanımlı Oluşturma Ayarlarına gittiğimde, PODS_ROOT girdisi tamamen eksik veya bir veya daha fazla yapılandırma için boş. Hangi derleme aşağıdaki hataya neden olur:

resim açıklamasını buraya girin

En basit düzeltme, projeyi Xcode'da kapatmak ve yeniden açmaktır .

Eğer hedefin giderseniz Yapı Ayarlar üzerinde ve filtre All , artık göreceksiniz PODS_ROOThatasız girişi:

resim açıklamasını buraya girin

Artık hatasız bir şekilde oluşturulmalıdır.


Not: Cocoa Pods'un resmi AFNetworking iOS Örneği bile bu soruna sahip, bu da beni Xcode ile ilgili bir hata olduğuna inanmamı sağlıyor.

Alternatif bir düzeltme, yapılandırmayı el ile olarak değiştirip Noneorijinal değerine döndürmektir:

resim açıklamasını buraya girin


1
Bunun benim için olduğu ortaya çıktı! $ PODS_ROOT'um yanlış ayarlandı
Alex Ryan

Uzun süreli düzeltme aramasından sonra çözümünüz sayesinde hatasız çalışmayı başardım. Sadece Konfigürasyonları Yok olarak değiştirmek ve
Pod'lara

Bu, HİÇBİRİ yardım etmeden İYİ.

32

Hedeflere gidin Build Settingsve "Kullanıcı Tanımlı" bölümünde PODS_ROOTeşit değerin olduğundan emin olun ${SRCROOT}/Pods.

resim açıklamasını buraya girin


Harika çalışıyor. Gerekli olan buydu.
pr4n

PODS_ROOTBu yol ve violá ile hedefime eklemek zorunda kaldım (Ayrıca header search paths"$ (PODS_ROOT)" özyinelemeli olarak
ekledim

Benim için ÇALIŞMADI.

30

güncelleme: a podfile.lockgereklidir ve sürüm kontrolü tarafından göz ardı edilmemelidir , belirli bir kapsül kurulumunda yüklü kitaplıkların sürümlerini izler. ( Raylar ve php bağımlılık yönetimi için sırasıyla gemfile.lock ve composer.lock ile benzerdir ). Daha fazla bilgi edinmek için lütfen belgeleri okuyun . Kredi, cbowns'a gider .


Benim durumumda, benim proje (yani git alt modülü olarak entegrasyon testleri dallanma .. yinelenen dosyaları kaldırma vb.) İçin bazı ev temizlik yapıyordu .. ve nihai sonucu bir git uzaktan repo itti .. Repoyu klonlayan tüm müşteriler yukarıdaki hatadan muzdaripti. Hlung'un yukarıdaki yorumundan esinlenerek , varolmayan bazı dosyalara karşı koşmaya çalışan bazı sarkan bakla komut dosyaları olduğunu fark ettim. Bu yüzden hedef oluşturma aşamasına gittim ve kakao kapsülleriyle ilgisi olan tüm kalan aşamaları sildim (ve Hlung'un silmeyi önerdiği Copy Pods Manifest.lockve copy pod resourcesbenimkine farklı bir isim verilmiş olabilir belki X / 5 kullanıyorum .. the nokta şu sarkan inşa aşamalarını silmek).


1
Bunun için uygun değil Podfile.lock: Cocoapods'un "Takımlarla çalışma" hakkındaki belgeleri hakkında daha fazla bilgi için okuyun.
cbowns

@cbowns kesinlikle haklısın, yorum için teşekkürler. Cevabımı güncelledim.
abbood

12
Xcworkspace dosyamı sildim ve pod kurulumu yaptım, ancak yine de aynı hata mesajını alıyorum.
jowie

@jowie burada aynı ... çözmüş olsaydın lütfen bana yol gösterebilir misin?
Haydut Dave

28

Görünüşe göre CocoaPods Projem için Konfigürasyonları ayarlamadı. Bunlarda Pods.xcconfigbulunanlara dayanmaları gerekir Pods/Target Support Files/Pods. Bunu işe almak için aşağıdakileri yapmak zorundaydım:

  1. Bu dosyayı kopyalamamayı seçerek Xcode'daki Xcode Projeme sürükleyin.
  2. Şimdi projemizde bir referans var, konfigürasyonları ayarlayabiliriz: resim açıklamasını buraya girin

Sonra ilişkili olabilir veya olmayabilir başka bir inşa hatası vardı. İçinde tanımlanan kabuk komut dosyasının yolu Copy Pods Resourcesyanlıştı.

"${SRCROOT}/Pods/Pods-resources.sh"

Yanlış çözüldü. Görünüşe göre SRCROOT, yola var olmayan fazladan bir yön ekliyordu. Bu yüzden Project klasörünün yolunu kodladım.

Bu benim inşa etmemi sağladı.

Neden size zaman kazandıracak birçok şey onu yiyor?

Not: Lütfen açıklama için @ abood'un cevabına bakınız.


27
Tüm bölmeleri bir hedeften kaldırdığınız için bu hatayı görürseniz , artık herhangi bir bölme komut dosyanız olmayacak, ancak yine de çalıştırmaya çalışacaktır. Hedef Oluşturma Aşamasına gitmeniz ve silmeniz Copy Pods Manifest.lockve Copy Pods Resourcesaşamalardan geçmeniz gerekir . Ve ayrıca libPods.aKütüphaneler ile İkili Bağlantı kaldırmak .
Hlung

@ Mükemmel yorum .. aslında sorunun temel nedenini giderir, yukarıdaki çözümleri denedim ve hala bir Podfile.lock (çoğu .gitignoredosya yoksaymak için yapılandırılmış .. ve haklı olarak) .. bu dosya gerekir Etrafta durmuyor ... Eğer cevap olarak yazsaydın sana +1 verirdim!
13'te

@abbood Yazın ve size kazanacağım.
Dağılma

CocoaPods'un Github sayfasındaki bu sorunun , muhtemelen bu kesin sorun için (çok sayıda hedefim olduğu için daha da benzer) derleme aşamalarını kontrol etmekten bahsettiğini eklemek istedim . Sorun burada aşağı kaydırmama neden oldu ....
DanBlakemore

22

Ben benzer bir sorun var ne çalıştı:

  1. Xcode'da:
    • Temiz
    • Xcode / Pencere / Düzenleyici / Proje / Projenizde Türetilmiş Verileri Silme
    • Pod dizini (yapılandırma dosyalarını içerir, sadece referansları değil dosyaları silin!)
    • Proje / Konfigürasyonlar'daki (hata ayıklama / bırakma) her hedef için bölme yapılandırma dosyalarına yapılan tüm referanslar kaldırıldı
    • "Hedefler / Derleme Aşamaları / Bölme Kaynaklarını Kopyala" tüm Hedeflerden kaldırıldı
    • "Hedefler / Derleme Ayarları / Kullanıcı Tanımlı / PODS_ROOT" tüm Hedeflerden kaldırıldı
  2. Xcode'tan çık
  3. Proje dizininizde:
    • rm -rf Kapsülleri
    • (İsteğe bağlı) rm -rf Projeniz.xcworkspace
    • rm -rf Podfile.lock
  4. pod kurulum
  5. Projeniz.xcworkspace'inizi Xcode'da açın

4
Sadece çalışma alanınızı keyfi olarak kaldırmayın - Çalışma alanınız Cocoapods tarafından oluşturulmuş olsa bile, sizin tarafınızdan korunur.
Joseph DeCarlo

Bu benim için işe yaradı ve bakla ile ilgili her dosyayı sildi.
Leena

15

Aşağıdaki adımları uygulayarak aynı sorundan kurtuldum:

  • Xcode->Product->Clean Build Folder( görmek için Ürün üzerindeki alt tuşunu basılı tutun )
  • Sekmeyi açın Xcode->Window->Organizerve seçin Projects. Ardından projenizi bulun ve projeyi silin derived data .

1
Benim için çalıştı. Sinirlendi. Şimdi mutlu.
fresidue

Benim durumumda bir github projesinde sorun yaşadım. Bu yüzden tamamen Proje dizini (rm -rf) kaldırmak, yukarıdaki yaptım, sonra projeyi unzip, pod yüklemek ve xcworkspace ve hatalar açtı!
rharvey

Benim için çalıştı. Teşekkür ederim.
xevser

10

Aşağıdakileri yaparak kolayca çözülebilir:

  • (sudo) gem install cocoapods

  • pod kurulum

  • temizle ve inşa et

sorun, ekip üyelerimizden birinin daha yeni bir cocoapods mücevher kurulumuna sahip olmasından kaynaklanıyor gibi görünüyor.


1
Bu sorunu çözmek için cocoapods yeniden yüklemek ve XCode yeniden başlatmak zorunda kaldı.
Camster

Koşmak zorunda kaldı gem install cocoapodsve sonra pod installve hemen hemen her şey bu iş parçacığında bahsedilen ...
Echelon

9

  1. .xcodeproj dosyasını yüce metinde aç
  2. temiz bölme klasörleriniz varsa bu iki satırı kaldırın, yani bölme klasörünü kaldırdıktan sonra yukarıdaki hataları alıyorsanız

bana bir ld verir: -lPods için kütüphane bulunamadı - / * Proje Adım * / Testler
SleepsOnNewspapers

ayrıca bu bana gelecekteki pod kurulumlarında hatalar verecek mi?
SleepsOnNewspapers

6

Aynı sorun /Pods/Pods-resources.sh diyordu: Podlarla ilgili dosyalar vb. Kaldırıldıktan sonra bile böyle bir dosya veya dizin yok.

Hedef-> Oluşturma aşamaları ve sonra "Kopyalama Pod Kaynakları" oluşturma aşamasını kaldırarak kurtuldum.


serin düzeltme ama proje ve türetilmiş verileri temizledikten sonra korkuyorum neden buna ihtiyacın olduğunu fark edebilirsiniz :)
Julian Król

Sonra ".h" dosyası Pod kullanan fileName hata bulunamadı
coolcool1994 24:16

4

Son zamanlarda aynı problemi yaşadım. Olası her tavsiyeyi denedim, bu eklenti dışında hiçbir şey benim için çalıştı:

https://github.com/kylef/cocoapods-deintegrate

Mevcut cocoapods entegrasyonunun temizlenmesinden sonra silinecek olan Podfile, Podfile.lock ve .xcworkspace'tir. Sonra tekrar yükleyin.

Umarım bu konuda birine yardım edeceğim.


Benim için düzelten tek şey buydu.
Charlie

Charlie'ye yardım edebileceğime sevindim
Chiara

4

Bu sorun çözüldü.

  1. Projenizin Hedefini Seçin
  2. Derleme Ayarları'nı seçin
  3. Açık Kullanıcı Tanımlı açılır listesinden
  4. PODS_ROOT anahtarının değerini $ {SRCROOT} / Pods olarak değiştirin

Yukarıdaki adımlar için ekran görüntüsü


1
Seninkini beğendim. Ama yine de aynı boktan hatayı alıyorum. Bu nedir!!! Kimsenin bu konuda doğru cevabı yok.

@YumYumYum: Ardından bölmelerinizi yeniden yüklemeyi deneyin.
Jayprakash Dubey

Her şeyden önce denedim ama bu çalıştı. Benim durumumda, bir sürümde yol belirlemeye devam etti.
Ankit Kargathra

3

Bence burada bir hata var.
Benim için Podsklasörü siliyorum ve sorunu çözmek için tekrar Podfile.lockyapıyorum pod install.
Bu mesaj yok sayılıyor .. :(


2

Çok sezgisel değildi. Temel proje ayarlarına gittim ve daha sonra Check Pods Manifest.lock altında pod.lock ve pod.manifest'e giden yolları kodladım, çünkü aslında farklı klasörlerde kaldılar, bu yüzden yollarım şöyle görünüyordu:

diff "/Users/admin/Desktop/Experimental/projectfolder/Podfile.lock" "/Users/admin/Desktop/Experimental/projectfolder/Pods/Manifest.lock" > /dev/null
if [[ $? != 0 ]] ; then
    cat << EOM
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
EOM
    exit 1
fi

Komut dosyası CocoaPod tarafından oluşturulmuş gibi görünüyor. Bu senaryoyu nereye koydun?
Nickolas

2

Aşağıdakileri deneyebilirsiniz. Benim için düzeltildi.

  1. yüklemek mücevher yüklemek cocoapods-deintegrate
  2. gem yüklemek cocoapods-clean yüklemek
  3. bakla parçalamak
  4. bakla temizliği
  5. pod kurulum

Eklentiler projeniz için cocoapod'lardan kaldırılacak ve yeni yüklenecek.


2

Benim durumumda, bu, kapsülü dosyamdaki tüm bölmeleri kaldırdığım bir test hedefiydi (çünkü daha sonra bu hedefe ihtiyacım olmadığını fark ettiğim bölmeleri ekledim). Buradaki diğer çözümlerin hiçbiri benim için çalışmadı.

  1. Sorun yaratan hedefin proje ayarlarındaki Aşamaları Oluştur sekmesine gidin.

  2. "Bölme Manifestosunu Kontrol Et" ve "Bölme Kaynaklarını Kopyala" adlı bölümü silin

  3. İçinde "Kütüphaneler ile Bağlantı İkili" kaldırmak libPods-YourTarget.a

  4. Bilgi sekmesindeki proje ayarlarınızda "Konfigürasyonlar" ı genişletin ve hem hata ayıklama hem de sürüm için hedef yapılandırmasını Yok olarak ayarlayın. (Bu, birkaç eksik dosya uyarısını düzeltir)

  5. Projenizin türetilmiş verilerini silin (Pencere> Projeler> Sil [projenizin yanında) ve Xcode'u yeniden başlatın. Hedef oluştur / çalıştır.


2

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. gerçekleştirmek pod installProje klasörünüzde
  4. Xcode'da "Temiz" yapın
  5. Projenizi yeniden oluşturun

1

Benim durumumda sorun yanlıştı. çözüm burada http://guides.cocoapods.org/using/tro Sorun.html

Bir şey işe yaramazsa, öncelikle projenizin derleme ayarlarında Pods.xcconfig dosyasından ayarlanan seçenekleri tamamen geçersiz kılmadığınızdan emin olun. Projenizin derleme ayarlarındaki seçeneklere değer eklemek için değer listesini $ (devralınan) ile değiştirin .


1

Bu sorunu yaşadım.

Düzeltme yöntemim, Pod'un uygulanmasını ve yeniden uygulanmasını tamamen silmektir. Burada belirtildiği gibi tüm hedeflerde " Pods Kaynaklarını Kopyala" ve "Pods Manifest.lock Dosyalarını Kontrol Et" i "Derleme Aşamaları" ndan sildiğinizden emin olun: Bir projeden CocoaPod nasıl kaldırılır?


1

Bu hatadan kurtulmam için, Podsdizini ve Podfile.lockdosyayı silmem gerekiyordu.


Sana katılıyorum, çalışma alanı dosyasını kaldırmak da dahil olmak üzere tüm yaptığın ve benim için işe yaradı.
Alix

1

Benim durumumda Podfile.lock & Manifest.lock'u kaynak kontrolüne koydum, ancak Pods-Project.debug (release) .xcconfig dosyalarını kaynak kontrolüne eklemeyi unuttum (yanlışlıkla .gitignore'a * .xcconfig ekleyerek) tam olarak aynı nedenden dolayı aynı derleme hatalarını aldı, PODS_ROOT ayarlanmadı.

Dolayısıyla amaç, repoyu klonladıktan sonra, projenin makinede CocoaPods yüklü olmadan derhal derlenip çalışabilmesi ise, kaynak kontrolüne tüm Pods dizinini veya Podfile.lock, Manifest.lock, projenin xcconfig dosyalarını ve Kaynak denetimine xcconfig dosyalarını koyar.

Ben koymadı özel .xcconfig kaynak kontrolüne varsayılan CocoaPods yapılandırmayla inşa ayarlarını birleştirir.


1

Saat geçirdikten sonra çözüm "Build Phases" e gidin ve sonra Pods Manifest.lock "Tick" komut dosyasını yalnızca yükleme sırasında çalıştırın "

Sonra teşekkür et ;)resim açıklamasını buraya girin


1

IONIC ile aynı problemim vardı , her şeyden önce denedim ama şans değil.

Hala aynı sorununuz varsa, aşağıdaki ayarların mevcut hava durumunu kontrol edin Build Settings -> User-Defined settings olmadığını

1. PODS_ROOT 2.PODS_PODFILE_DIR_PATH

Mevcut değilse ekleyin,

PODS_ROOT = ${SRCROOT}/Pods

PODS_PODFILE_DIR_PATH = ${SRCROOT}/

Sorunu çözecek, çözüm bağlantısı


0

Kapsül kullanmadan önce birden fazla hedef oluşturdum. Daha sonra diğer hedefleri derlemeye başladığımda Podfile'mdaki hedeflerin listesine link_with eklemem gerekti.


0

Aynı sorunu yaşadım. Son adımlarımı geri çektikten sonra, yeni bir hedef için bir hedef bildirimi eklemenin ve ardından sorunun nedeninin çalıştırıldığını buldum :pod install,

resim açıklamasını buraya girin

Şubemi sıfırlamak ve projemi temizlemek işe yaramadı, çünkü Cocoapod'lar kaynak kontrolü altında olmayan en az bir dosyayı değiştirdi . Bunu biliyorum çünkü fazladan hedef eklemeden önce uzak dalı bir taahhüdüne sıfırladıktan ve depoyu yeniden klonladıktan sonra sorun artık mevcut değildi.


0

Bir watchOS hedefiniz varsa: Birdenbire, saat uzantısında kapsüllere sahip olmak, ancak saat hedefinde değil, aynı hatayla işleri bozduğunu buldum . Çözüm, bölmeleri saat hedefine de eklemekti.



0

Podfile oluşturduktan sonra yeni bir hedef eklediyseniz, Podfile, Podfile.lock, Pods klasörünü ve çalışma alanını silin, ardından bölmeleri başlatın -> sonra bölmelerinizin pod kurulumunu yapın


0

Yukarıdakileri denedikten sonra, pod install

[!] CocoaPods, projeniz için özel bir yapılandırma ayarına sahip olduğundan projenizin temel yapılandırmasını ayarlamadı.

Cocoapods .xcconfig dosyasını projeme eklemediği için bu hataya neden oluyordu.

Bunu çözmek için projemin Infosekmesine gittim . NoneTüm Şemalar ve hedefler için Yapılandırma Dosyasına Dayalı olarak ayarla . Sonra tekrar koştupod install

Daha fazla bilgi için bu bağlantıya bakın. Cocoapods Uyarısı - CocoaPods, projenizin temel yapılandırmasını ayarlamadı çünkü projenizde zaten özel bir yapılandırma kümesi var


0

Benim durumumda, yanlışlıkla bu garip soruna neden olan yapılandırma dosyasının sonuna gereksiz bir nokta yazdım. Lütfen yapılandırma dosyanızda herhangi bir hata bulunmadığından emin olun!

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.