Uyarı: Paket Kaynaklarını Kopyala oluşturma aşaması bu hedefin Info.plist dosyasını içerir


270

Bir projeyi iki yapıya ayırdım ve her birine bir plistdosya verdim . Her şey iyi çalışıyor, ancak bu yapı uyarısını almaya devam ediyorum:

Uyarı: Paket Kaynaklarını Kopyala oluşturma aşaması, bu hedefin 'MyApp-Info.plist' bilgi dosyasını içerir

İnşa etmeye çalıştığımda bunu anlıyorum MyApp. İkinci hedefin oluşturulması aynı hatayı verir ( SecondTarget-Info.plistuyarıda olduğu gibi). Derlemenin bu dosyayı içermesini istediğim için neden bir uyarı olduğundan emin değilim .plist. Her .plistdosyaları (kendi derlemesi için) tek hedef üyelikleri vardır.

Bu uyarı ne anlama geliyor? Gitmesini sağlamanın bir yolu var mı?


Her bir hedefe Info.plist eklemenize gerek yoktur. Bunun yerine her hedefte Yapı Ayarı -> Paketleme -> Info.plist Dosyası -> hedefin konumu Info.plist
onmyway133

Yanıtlar:


595

https://developer.apple.com/library/content/qa/qa1649/_index.html

Alıntı:

Bu uyarıyı, muhtemelen Info.plist dosyanızı Şekil Paketi'nde gösterildiği gibi Kopya Paketi Kaynaklarını oluşturma aşamanıza eklediğiniz için alıyorsunuz

resim açıklamasını buraya girin

INFOPLIST_FILE oluşturma ayarı, hedefinizle ilişkili Info.plist'in adını belirtir. Bir hedef oluştururken, Xcode bu derleme ayarını okur ve başvurulan Info.plist'i uygulama paketinize kopyalar. Xcode otomatik olarak Info.plist'i işlediğinden, bu listeyi Kopya Paketi Kaynaklarını oluşturma aşamanıza eklememeli veya hedef üye yapmamalısınız.

Bu uyarıyı gidermek için, Şekil 1'de gösterildiği gibi Paket Kaynağını Kopyala oluşturma aşamasından Info.plist'inizi seçin, sonra aşamadan silmek için Kaldır (-) düğmesini tıklatın.


Eğer bu çözülmezse hangi sorun ortaya çıkacak?
hasan

2
@ hasan83, derleme uyarısı alırsınız ve inşa edilen ürün biraz yer kaplayan Info.plist'in fazladan bir kopyasını içerir.
JWWalker

1
@kraftydevil, projenizde herhangi bir alt proje var mı, bu yüzden uyarının incelediğiniz hedefin dışında bir hedefi işaret ediyor olabilir mi?
JWWalker

5
7 yıl sonra hala geçerli.
jungledev

1
Çözüm Xcode 9'da benim için çalıştı. @Jungledev hala alakalı çünkü Apple bize her zaman garip sayıların garip hatalarının çözümünü göstermek için Xcode geliştirmek yerine Swift sürümlerini güncellemekle meşgul.
MBH

65

Xcode 4'te düzeltmek için:

1) info.plist dosyanızın referansını seçerek ve delete tuşuna basarak kaldırın.

2) info.plist dosyasını tekrar ekleyin, ancak hedef seçmeyin ve "hedeflere ekle" seçeneğinin işaretini kaldırın.


2
Şimdi plist dosyasını projeme kopyalarken "hedeflere ekle" nin işaretini kaldırmanın bu sorunu almamın nedeni olduğunu görüyorum. Sorunu çözmek için, hedeflere eklemeden silme ve yeniden ekleme de işe yarayacak olsa da yukarıdaki "doğru yanıt" bölümündeki adımları izledim. =)
RanLearns

1
Bu benim için Xcode 6.4'de çalıştı. Seçilen cevap gelmedi.
kraftydevil

2

Herhangi birinin Xcode 3 ile karşılaşması durumunda, düzeltmek için "Gruplar ve Dosyalar" altındaki sol sütundaki .plist dosyasını tıklayın ve sağ üst kısımdaki sütundaki .plist dosyası adının yanındaki kutunun işaretini kaldırın. bullseye simgesinin altında. Onay kutularını göstermek için düzenleyicinin uzaklaştırılması (Görünüm -> Zum Düzenleyicisini Uzaklaştır) gerekir.


0

Başka bir çözüm:

Bir proje dosyasını yanlışlıkla "hedef üyelik" temel verilerinden kaldırmış olabilirsiniz.

  1. Soldaki proje gezgininden Main.storyboard'unuzu seçin

  2. Sağdaki "dosya denetçisine" (ilk sekme) gidin

  3. "Hedef Üyelik" listesini bulun

  4. Onay kutusunu etkinleştir

  5. İşleme biraz zaman verin, ancak işinizdeyken, LaunchScreen.storyboard, .xcdatamodelid, Assets.xcassets ve projenizdeki tüm .swift dosyalarını da kontrol edin. Hepsinin hedef üyelik için etkinleştirilmiş olması gerekir.

  6. Not: Info.plist'in hedef üyeliğin işaretli olmaması gerekir.

Bu yardımcı olur umarım.


-2

Bir not olarak ... Bu konuda güzel bir Radar yazmaya çalışacağım, ancak Xcode'daki Storyboard'larda Yerelleştirmenin ele alınması gerçekten garip. "Finder'da Göster" sorusunu sorarsanız, .storyboard dosyanızı seçili görmezsiniz, bunun yerine içerdiği klasörü görürsünüz. Sanırım Storyboard'un Yerelleştirilmesi ile ilgili. En kısa sürede İngilizce'den Almanca'ya değiştirdiğimde (ve bu yüzden artık dosyada kök veya en.lproj'da bulunmuyor), sorun yaşamaya başladım.

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.