Vs böyle büyük mükafat Çalışma alanı - Farklılıklar Güncellemelerinden Proje
iOS
tüm ekosistem nasıl çalıştığını anlamaya çalışıyorum.
Şimdiye kadar, bulabildiğim bir cevap için en çok benim sorum (ve inan bana, orada bir sürü), bu sefer yok gibi görünüyor net bir yanıt gelmedi.
XcodeProject ve XcodeWorkspace dosyaları arasındaki fark nedir?
- İkisi arasındaki fark nedir?
- Onlar sorumlu?
- Hangisi tek başına takım/uygulamalarım geliştiriyorum zaman çalışmak gerekir?
- Bu iki dosya konuda dikkat etmem gereken başka birşey var mı?
CEVAP
İlgili proje yapısını anlamak için gereken üç önemli öğe vardır benceHedefler,projelerveçalışma alanları.Hedefler/ikili (yani, bir uygulama veya kütüphane) nasıl inşa edildiğini ayrıntılı olarak belirtin. Yapı ayarları, derleyici ve linker flags gibi onlar vardır, ve onlar aslında bir ürüne ait tanımlayın. /Çalıştır oluştururken, her zaman belirli bir hedef seçin.
Kodu ve kaynakları paylaşan bir kaç hedefleri var olasıdır. Bu farklı hedefler bir uygulama biraz farklı versiyonu olabilir (iPhone, iPad hakkında farklı/,...) ya da doğal olarak aynı kaynağa erişmek için gereken test durumları app gibi dosyaları. Tüm bu hedefler ile ilgili bir grupta toplanabilirproje. Projenin tüm hedeflerine dosyaları içeriyor olsa da, her hedef ilgili dosyaları kendi alt alır. Aynı yapı ayarları için de geçerli: ayarlar, ama eğer hedeflerden biri farklı ayarlar ihtiyacı varsa, her zaman onları orada üzerine: varsayılan proje genişliği tanımlayabilirsiniz
Tüm hedefleri üzerine sürece miras, ortak proje ayarları
Somut hedef ayarları:PSE iPhoneproje Base SDK
Bu ayarı geçersiz kılar
Böyle büyük mükafat olarak, sana her zaman açık projeleri (ya da çalışma değil, hedefler ve hedefleri içeriyor olabilir dahili/run, ama başka yol yok/tanımı yapı proje, her projenin en az bir hedef olmak için fazla bir koleksiyon dosyaları ve ayarları.
Projenin hedeflerinden biri çalıştırmak için seçin
Bir çok durumda, projeler gerekir. Eğer kaynaktan oluşturduğunuz bir bağımlılık varsa, bir olarak gömebilirsinizalt proje. Projeleri ayrı ayrı veya onların süper proje içinde açılabilir.
demoLibbir proje
Süper projenin bağımlılıkları için projenin hedeflerinden biri de eklerseniz, alt proje değişmeden kalmıştır sürece otomatik olarak inşa edilecek. Burada avantaj olduğunu düzenleyebilirsiniz dosyaları, hem de proje ve bağımlılıkları aynı Güncellemelerinden pencere, ve ne zaman inşa/çalıştırabilirsiniz seçin proje ve alt projeleri’ hedefler
Eğer, ancak, kütüphane (alt proje) tarafından kullanılan çeşitli diğer projeler (veya hedeflerine tam olarak), çok mantıklı için de aynı hiyerarşi düzeyinde – bu neçalışma alanlarıiçin. Çalışma alanları içerir ve yönetmek projeler, tüm projeler içerir doğrudan (yani, kendi projeleri) aynı düzeyde ve hedeflerine bağlı olabilir birbirimizi (projelerin hedef olabilir bağlı alt projeler’ hedefler, ancak tersi).
Çalışma yapısı
Bu örnekte, her iki uygulamalar (AnotherApplication/ProjectStructureExamplereferans olabilirdemoLibprojenin hedefleri. Bu da dahil olmak üzere mümkün olacaktırdemoLibbir proje olarak hem de diğer projeleri bir referans sadece, hiçbir çoğaltılması gerekli olan proje, ama eğer çapraz bağımlılıkları bir sürü varsa, çalışma alanları daha mantıklı. Eğer bir çalışma alanı açın, tüm projeler arasından seçim yapabilirsiniz hedefler bina/çalışan.
Hala proje dosyaları ayrı ayrı açabilirsiniz, ama onların hedefleri böyle büyük mükafat olamaz çalışma alanı dosyasını açmadığınız sürece bağımlılıkları gidermek çünkü kurmak mümkün değildir. Çalışma alanları vermek aynı yararı projeleri: bir Zamanlar bir bağımlılık değişiklikleri, böyle büyük mükafat olacaktır inşa emin olmak için güncel (her ne kadar ben vardı bazı konularda, iş gibi görünmüyor güvenilir).
Özetle sorularınızı:
1) Proje dosyaları (kod/kaynakları), ayarları, dosyaları ve ayarları ürünleri inşa hedefleri içerir. Çalışma alanları birbirine referans olan projeler içerir.
2) Her İkisi de genel proje yapılandırma için sorumlu, ama farklı düzeylerde.
3) projelerin çoğu durumda yeterli olduğunu düşünüyorum. Özel bir sebep olmadıkça çalışma alanları kullanmayın. Artı, her zaman bir çalışma alanı proje daha sonra gömebilirsiniz.
4) yukarıdaki metin için ne lazım
Bir 3 için açıklama): otomatik olarak 3. parti kütüphaneler kolları CocoaPods,, çalışma alanları kullanır. Bu nedenle, CocoaPods
bir sürü insan yapmak) kullandığınızda, bunları kullanmak da var.
Ekleme Sürüm Kontrolü, Çalışma alanı D...
Nasıl böyle büyük mükafat bir çalışma ...
Ön işlemci makroları yokluğunda, bir ş...
Nasıl "böyle büyük mükafat" ...
Böyle büyük mükafat 6 proje yeniden ad...