SORU
7 ŞUBAT 2014, Cuma


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?

  1. İkisi arasındaki fark nedir?
  2. Onlar sorumlu?
  3. Hangisi tek başına takım/uygulamalarım geliştiriyorum zaman çalışmak gerekir?
  4. Bu iki dosya konuda dikkat etmem gereken başka birşey var mı?

CEVAP
8 ŞUBAT 2014, CUMARTESİ


İ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

Shared project settings that all targets inherit, unless they overwrite it

Tüm hedefleri üzerine sürece miras, ortak proje ayarları

Concrete target settings: PSE iPhone overwrites the project’s Base SDK setting

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ı.

Select one of the project’s targets to run

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.

demoLib is a subprojec

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

Running targets from a subproject

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).

Workspace structure

Ç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.

Running targets from a workspace

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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaliforniaMetin

    CaliforniaMe

    3 ŞUBAT 2013
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013
  • tychoadragmire

    tychoadragmi

    20 Mart 2006