Cocoapods Uyarısı - CocoaPods, projenizin temel yapılandırmasını ayarlamadı çünkü projenizde zaten özel bir yapılandırma kümesi var


331

Projemin pod installtemelinde bir yürüttükten sonra aşağıdaki hatayı alıyorum:

CocoaPods, projenizin temel yapılandırmasını ayarlamadığı için projenizin temel yapılandırmasını ayarlamadı. Hiç işe CocoaPods entegrasyon için, ya hedefin baz yapılandırmaları ayarlayın lütfen BluePlaquesLondonFrameworketmek Pods/Target Support Files/Pods/Pods.debug.xcconfigveya dahil Pods/Target Support Files/Pods/Pods.debug.xcconfig, yapı yapılandırmasında.

Bu muhtemelen aptalca bir soru gibi geliyor, ancak bir hedef için temel yapılandırmayı nasıl ayarlarım?

https://github.com/seanoshea/BluePlaquesLondon/blob/ios8/Podfile , bu soruna neden olan Pod dosyasıdır.

iOS 8 şubesindeki http://github.com/seanoshea/BluePlaquesLondon , projenin neye benzediğini merak ediyorsanız söz konusu Pod dosyasıdır.


2
Bu biraz konu dışı, ama; Sizi sadece iOS-KML-Framework hakkında uyarmak istiyorum. TBXML'nin 1.5 sürümünü kullanıyor, ki bu biraz hatalı. Feed'inizde hatalı biçimlendirilmiş XML alırsanız uygulamanız kilitlenir. '1.5'i podspec'ten kaldırdığınız ve sadece TBXML'nin HEAD'ini kullandığınız iOS-KML-Framework için özel bir çatal yapmak isteyebilirsiniz. Bu birçok sorunu çözüyor gibi görünüyor.
churowa

Lütfen gerçek uyarının daha fazlasını içerecek şekilde başlığınızı güncelleyin. Örneğin: "CocoaPods yapılandırma uyarısı ayarlamadı".
David James

@DavidJames başlığı güncellendi. Yine de biraz wordy düşünüyorsanız tekrar değiştirmek için mutlu.
seanoshea

4
Şimdi stackoverflow üzerinde gördüğüm en uzun başlıklardan biri.
Klaas

github.com/CocoaPods/CocoaPods/issues/2633 iyi bir geçici çözüme sahiptir - tüm yapılandırmaları Hiçbiri olarak ayarlayın, sonra "kapsül kurulumu" nu çalıştırın
David Airapetyan

Yanıtlar:


583

Aynı sorunu yaşadım, ancak Xcode 6.1.1'de - benim için sabit olan şey, yapılandırma dosyası ayarını Noneiki Pod ile ilgili hedef için değiştirmek, sonra pod installtekrar çalıştırmaktı .

Yapılandırma dosyası ayarı projeyi (hedefi değil) ve ardından Bilgi sekmesini seçerek bulunur.


144
Bu ayar, proje (hedef değil) ve ardından Bilgi sekmesi seçilerek bulunur.
Grav

34
Değişikliğin yapılmasına yardımcı olur, ardından xcode'dan çıkılır, çalıştırılır pod installve yeniden açılır. Bu süre zarfında Xcode'u açık tutmayın.
Sebastian Roth

1
Bu benim için düzeltildi. benim yapılandırmam eski bir xcconfig adını işaret ediyordu ve Podfile'ma iki açık hedef eklediğimden beri değişti (test için ana projenin biri için) ve farklı adlara sahip yeni yapılandırma dosyalarının oluşturulmasına neden oldu.
qix

10
Benimle aynı endişeye sahip olanlar için Nonebunu ayarlamanın bir şeyleri kıracağı için .. sonraki pod installher şeyi sıralar.
Matthew

4
xcode 10'daki bu ayar nerede? Tüm sekmelerden gitti, bulamadım
JenonD

167

Tamir etme, Sıfırla.

Adım adım

  1. Proje Gezgini'ni göster
  2. Proje Seçin
  3. seçmek Info
  4. In Yapılandırmalar'ın , bir süre (ayıklama, ApplicationUnitTest, Yayın, vs.) her birini, birini seçin ve söz konusu yapılandırma, set konfigürasyon içindeki her hedef için Hiçbiri .
  5. Yapılandırma Dosyasına Göre, her yapılandırma için 0 Yapılandırma Kümesi veya Yapılandırma Kümesi Yok ifadesini okuduğundan emin olun . Bu çok önemli. 0 Yapılandırma Seti
  6. Çık Xcode
  7. rm -rf Pods/ Podfile.lock ; pod install

pod installAdım adım 7sihrini yapmasına izin verdikten sonra , özel bir yapılandırma kullanabilir ve yapılandırmalarınızı değiştirebilirsiniz.


10
Bu cevap kabul edilmelidir, önceki benim için de belli değildi.
Evgeniy Kleban

Kullanımı Pods: en ufak sorunumu çözmedi, diğer yanıtlar önerilen yapılandırma, Yapı ayarlar zaten uyuyorlardi Pods.debug& Pods.release, oldu sorunu. Ne yapıldı? Her yapılandırma için 0 Yapılandırma Ayarlandı . Aynı cevap ne olursa olsun.
SwiftArchitect

Bu da benim için çalıştı. Sadece not etmek gerekirse, Konfigürasyonları görmek için Hedeflerden Projelere geçmelisiniz. Açılır menü için tökezleyene kadar bunu uzun süre aradım.
marty331

Yapabilseydim bunu yüz kere oylardım. Jenkins 4 saat geliştirici dalını özel yapılandırma dosyalarıyla bir iOS uygulamasına 3 uzantı ekleyerek, check manifest.lock komut dosyasında kakao kapsüllerinden bombalandıktan sonra bir araya getirdikten sonra 30 saatlik bir mücadele sürecinden sonra, bu nihayet sorunu düzeltti. (diğer birçok şey arasında, ancak bu son saman düzeltme oldu). : Şerefe:
Augie

"[!] Aşağıdaki kapsüller için Swift sürümü belirlenemedi:"
Richard

138

XCode'a gidin ve proje ayarlarınızı açın ve Bilgi sekmesinin altında, hem Debug hem de Release için bir yapılandırma dosyası ayarlayabileceğiniz "Konfigürasyonlar" göreceksiniz. Görünüşe göre bunları zaten bazı özel yapılandırmalara ayarladınız ve CocoaPods, Pods yapılandırmasını kullanmanızı istiyor / gerekiyor.

İşte bir ekran görüntüsü


7
Gerçek bir amaç için özel bir yapılandırma kullanmanız gerekirse bunun sorunu çözmediğini unutmayın. Bu açık konuya bakın .
funroll

1
Xcode 6'da bu yanıtı yanlış yapmak için hiçbir şey değişmedi
kuark

Başka bir sorun ama benim için sorunumu çözdü. UI Testleri ile kakao kapsülleri kullanıyordum ve bu şey hayatımı kurtardı! Teşekkür ederim.
Akshit Zaveri

70

Aynı sorunla karşılaştı. Simülatör üzerine inşa edilecekti ama cihazımda değil. Cevapların hiçbiri bunu benim için çözmedi. İşte bazı cevapları bir araya getirdim:

  1. Kapsüllerimi belirli bir hedefi kullanacak şekilde değiştirdim:

    target :MyProject do
        pod 'AWSCognitoSync'
        pod 'Facebook-iOS-SDK'
    end
  2. Pod yükleme koştu

  3. Bu bir hata verir: [!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `MyProject` to `Pods/Target Support Files/Pods-MyProject/Pods-MyProject.debug.xcconfig` or include the `Pods/Target Support Files/Pods-MyProject/Pods-MyProject.debug.xcconfig` in your build configuration.
  4. Proje ayarları'na gidin ve Bilgi sekmesine tıklayın. Yapılandırma dosyasını bulamadığı bir hata oluşacaktır. Hata Ayıklama ve Serbest Bırakma için "Hiçbiri" olarak ayarlayın.
  5. Pod kurulumunu tekrar çalıştır
  6. Temizleyin ve inşa edin. Bu çalışıyor.

1
Adım 4 ve 5 arasında her zaman xcode'u kapatırım. Pod kurulumu sırasında xcode çalışırken sorunlar oluştu.
Ray Hunter

Sadece kendime özel şemalar oluşturdum. Yukarıdaki Xcode 7 de çalışır. Bir yükleme sırasında Xcode kapatılması hakkında @srayhunter tavsiye ederim.
subv3rsion

1
Keşke birden fazla oy verebilsem. Bu beni her zaman yakalar.
Bill Burgess

16

Ayrıca kökünde kapsül olmadığından emin olmalısınız, bunun Podfilegibi birçok hedefte kullanılan tüm bölmeleri tanımlamalısınız:

def shared_pods
  pod 'ReactiveCocoa', '~> 2.5'
end
target 'app' do
  shared_pods
  pod 'RestKit'
end
target 'tests' do
  shared_pods
  pod 'OCMock'
end

Ayrıca hedef bağımlılıkları silmeniz libPods.ave libPods-app.ahedef bağımlılıklardan temizlemeniz ve ardından pod installyeniden çalıştırmanız gerekebilir .


10

Bazı özel derleme yapılandırmaları ekledikten sonra bu sorunla karşılaştım. Altında görebiliyordum:

Pods (target) > Target Support Files > Pods

aslında xcconfigyeni derleme yapılandırmalarıyla eşleşen yeni dosyaları oluşturduğunu ancak bir nedenden dolayı bunları uygulamamın proje hedefinde seçemedim.

Benim için sabit olan şey cocoapods-deintegrate kurmak ve kullanmaktı :

gem install cocoapods-deintegrate

ve sonra çalıştırın:

pod deintegrate

bunu takiben:

pod install

2
Bu bana yardımcı oldu.
Krishnan

7

Pod dosyasında sorun oluşturan satır: link_with ['BluePlaquesLondon', 'BluePlaquesLondonFramework'].

Sadece şunu yapın: link_with ['BluePlaquesLondon'] veya bu (benim durumumda çalıştı, umarım senin içinde olur :-)):

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

xcodeproj 'BluePlaquesLondon.xcodeproj'
inhibit_all_warnings!
link_with ['BluePlaquesLondon']

def import_pods

     pod 'TTTAttributedLabel', '~> 1.10.1'
     pod 'GoogleAnalytics-iOS-SDK', '~> 3.0.9'
     pod 'Google-Maps-iOS-SDK'
     pod 'IntentKit'
     pod 'HCViews'
     pod 'SVProgressHUD', :head
     pod 'iRate'
     pod 'iOS-KML-Framework', :git => 'https://github.com/FLCLjp/iOS-KML-Framework.git'

end

import_pods

target "BluePlaquesLondonFramework" do
    import_pods
    pod 'Kiwi'
end

Bu benim için güzel çalıştı. Kabul edilen cevaba göre Cocoapods konfigürasyonları zaten ayarlanmıştı, ancak yine de uyarıyı görüyordum. Peki bu neden link_with ['BluePlaquesLondon', 'BluePlaquesLondonFramework']olmasa da işe yarıyor ?
churowa

6

Mevcut projenize özel bir yapı yapılandırması eklediyseniz, Cocoapods bundan şikayet edecektir.

Cocoapods Pods/Target Support Files/<build_target>, adlandırma desenini izleyen dizinin altında otomatik olarak xcconfig dosyaları oluşturur Pods-<build_target>.<build_config>.xcconfig.

Bu dosyaları projenize Xcode'daki manuel olarak eklediğinizden emin olun (Pods dizininin altında, ancak Pods projesinin içinde değil!). Bu dosyalar eklendikten sonra Xcode'da projenizi seçin, "Bilgi" sekmesine gidin ve özel yapılandırmanızı genişletin. Özel yapılandırmanız altındaki her hedef için uygun xcconfig dosyasını seçin.


4

Pod kurulumu sırasında aynı hatayla karşılaştım. Her şeyi denedim (bölmeyi yeniden yükleyin, tüm mücevherleri güncelleyin, vb.) Ve çözümümün çalıştığında buldum. Hedef adının değiştirilmesi nedeniyle sorun oluştu. Bu durumda çözüm basittir:

  1. Ürün -> Şema -> Şemaları Yönet ... seçeneğini tıklayın.
  2. Listede hedefinize tıklayın ve pencerenin altındaki "-" işaretiyle silin.
  3. Listeye hedef eklemek için "+" işaretini tıklayın. Doğru hedefi ve adı seçin.

Sonuçta her şey işe yaramalı.


3
  1. İlgili xcconfig dosyalarını projenize ekleyin. Cocoapod'lar onları yaratacak, ancak projeye gelene kadar Xcode'da ayarlayamazsınız.
    • Muhtemelen diğer pod xcconfig dosyalarının bulunduğu Pod grubuna eklemek istersiniz. Sağ tıklayın ve dosya ekleyin.
    • Proje klasörünüzdeki xcconfig dosyalarını arayın veya bakın Pods/Target Support Files/[TARGET_NAME]/(Her hedef için yapılandırılmış farklı cocoapod'larım var (uzantı ve ana proje, durumunuzda biraz farklı olabilir)
  2. Ana projenizin Bilgi bölümündeki proje yapılandırmalarına gidin
  3. Her hedef ve yapılandırma için uygun kapsül yapılandırmasını ayarlayın.
  4. pod install ve hiçbir hata görmemelisiniz.

3

Podfile'daki kapsülleri hedefin dışına taşıdım. Dosya bundan değişir:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'MyProject' do

pod 'Firebase', '>= 2.5.0'
pod 'Onboard'
pod 'GoogleMaps'
pod 'IQDropDownTextField'

end

Buna:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!

pod 'Firebase', '>= 2.5.0'
pod 'Onboard'
pod 'GoogleMaps'
pod 'IQDropDownTextField'

target 'MyProject' do

end

2

Özel yapılandırma kullanıyorsanız uyarıdaki öneriyi izleyebilir ve yapılandırma dosyasına Pod yapılandırmasını ekleyebilirsiniz.

     #include "Pods/Target Support Files/Pods-YYY/Pods-YYYY.develop-archive.xcconfig"

Bu, uyarıları DURDURMAZ, ancak özel yapılandırmanızı kullanmanıza izin verir (CocoaPods projesiyle uyarı hakkında açık bir hata var) https://github.com/CocoaPods/CocoaPods/issues/2633


2
Mevcut proje kurulumunuzu feda etmeyen bir cevap eklediğiniz için teşekkür ederiz.
Dan Leonard

1

Bu yüzden benim için sorun, Swift 3 güncellemesi yapılmadan önce yukarıda belirtilen xcconfig dosya adlarının değiştirilmesinden kaynaklandı.

Senkronize olmayan bir şey vardı, bu nedenle Cocoapods eski adlandırılmış dosyalarla bir 'Kurtarılan Referanslar' klasör bölümü oluşturdu ve bunlara bağlandı.

Bunu düzeltmek için:

  1. 'Kurtarılan Başvurular' klasörü ve içeren eski .xcconfig dosyaları Xcode ve dosya sisteminden kaldırıldı
  2. Xcode'tan çık

  3. Kapsül yüklemesini çalıştır

O zamandan sonra her şey benim için yapıldı ve uyarılar kayboldu.


0

XCode 6'da bu konunun dokunduğu projeyi şu şekilde oluşturabildim:

  • Proje Gezgini'nden Proje seçme
  • Hedef yerine Proje seçimi
  • Bilgi sekmesine gitme
  • Pod'ları seçme. (hata ayıklama / bırakma) İlgili Konfigürasyonlar için açılan kutudan Konfigürasyon Dosyaları.

Umarım bu birisine yardım eder.


0

Bu benim başıma geldi çünkü zaten bir Pod konfigürasyonum vardı. İOS geliştirmede yeniyim, Alamofire + SwiftyJSON'u yüklemek için talimatları araştırıyordum ve kütüphaneleri yanlışlıkla birden fazla kez yükledim. Bana göre, "Pods" projesindeki "Target Support Files" klasöründe, iki doğru .xcconfig dosyasını seçtim ve uygulama projemin "Pods" klasörüne sürükledim. Bu, temel yapılandırmada doğru yapılandırma dosyalarının seçilmesini mümkün kıldı.

Ancak, tekrar "pod install" komutunu çalıştırırsam, uyarı önceki .xcconfig dosyasına dönüşür. Dosyaları ve eski çerçeveyi ana projeden silmeye çalışıyorum, ancak önceki komutu bir kez daha çalıştırdığımda, bana aynı uyarıyı verdim ve uygulama projemin "Pods" klasörü altında "Pods.framework" dosyasını oluşturdum. Onu görmezden geldim ve iki çerçeveye rağmen iyi görünüyor. Doğru olup olmadığını bilmiyorum ve eğer varsa, bir çözüm memnuniyetle karşılanacaktır.


Bu soruya gerçekten cevap vermiyor. Farklı bir sorunuz varsa Soru Sor'u tıklayarak bunu sorabilirsiniz . Ayrıca , yeterli itibara sahip olduğunuzda bu soruya daha fazla dikkat çekmek için bir ödül ekleyebilirsiniz .
Petro Korienev

Petro açıklaması için teşekkürler. Sadece benim için işe yarayan sonucu (uyarılarla ama yine de) paylaşmak istedim, ancak gelecekte daha dikkatli olacağım.
Pablo

0

Hata yaptım:

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.

İlk kez bitbucket'ten istek aldım. Projemi temizledim ve her şeyi denedim (pod yükleme, pod güncellemesi vb.) Ancak yukarıdaki yanıtların hiçbiri benim için çalışmadı. Sonra sadece kapsülü yüklediğim yolu kontrol ettim ve düzeltip tekrar kurdum, Sadece çalıştı. Yolu, .xcodeproj veya .xcworkspace (zaten varsa) bulunmadan hemen önce belirtin. Birisi bundan faydalanabilir.


-2

Bunun için en basit çözüm (bu sorunu birkaç kez yaptıktan sonra):

  1. Podfile & Podfile.lock dosyasını proje kitaplığınızdan silin (Podfile'ı yeni bir Podfile'a kolayca yapıştırabilmeniz için bir yere kaydedin)
  2. 'pod init'i çalıştır
  3. 'Poddosyasını' isteğinize göre düzenleyin (kullandığınız kapsülleri ekleyin)
  4. 'pod install' komutunu çalıştır

Bu her şeyi yeniden oluşturur ve her zaman dakikalar içinde çalışır ("hata" ters mühendislik zaman harcamak değil).

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.