2009-11-16 7 views
5

oluşturur ve ben 22 kurar yapmak gerekir. Evet bu bir yazım hatası değildi! Her derlemede farklı olan, PRODUCT_NAME, bundle Resources klasöründeki bir kaynak dosya ve yazılımın deneme sürümü olup olmadığını belirten bir değişkendir.En etkili yolu benim ilk nispeten basit Xcode proje (özel yükleyici) bitirme yakın alıyorum

Şimdiye kadar okuduğumdan, var olan hedefi çoğaltmak, sadece birkaç tane yapı olduğunda bunu yapmanın yolu gibi görünüyor, ancak bu hala 22 için geçerli mi? Çok fazla iş gibi görünüyor. Aklımda olan şey, PRODUCT_NAME ürününü, Kaynaklar klasörüne kopyalanan kaynak dosyaları ve deneme modunu değiştirmenin bir yoluydu. Ama ben sıkıştım.

sayesinde

cevap

1

Muhtemelen .xcodeproj şablonu kullanılan ve sed gerekli tüm kombinasyonları oluşturmak için bir komut dosyası yazmak istiyorum.

1

Bu çok sayıda yapıyı korumak için CMake adresine bakmak isteyebilirsiniz.

Komut dosyası, işin yapılmasını kesinlikle sağlayabilir, ancak proje önemli sayıda dosyaya ulaştığında veya kendinizin yapısını değiştirirken bulduğunuzda, komut dosyasının değiştirilmesi kıllı olabilir. CMake bu senaryoları organize etmenize izin verecek, bu yüzden gelecekte değişiklikleri yapmak en azından biraz daha kolay.

2

Benim bağırsak tepkisi

sorun döndü edilemez ... farklı 22 sadece tek bir kaynak dosya tarafından farklılık gösterdiğini inşa yanlış olduğudur? Uygulamanızın 22 farklı versiyonunu bir derlemeye dahil edin ve 22 farklı klasörden birini açarak .app klasöründe 22 farklı anahtar/lisans dosyası sağlayın. Geçmişte bu başardığımı

+0

Maalesef değil. Bunlar kopya korumalı olmayan eklentilerdir, bu yüzden ayrı bir yükleme için ayrı yapılar oluşturmaları gerekir. – user212253

+0

Eklentiler - bir uygulama oluşturun ve her biri istenen işlevselliği içeren farklı eklentiler sağlayın. Her ne kadar bu neredeyse geri getiriyorsa 22 sorun ... –

2

bir yolu Yerelleştirme kullanmaktır. NSLocalizedString aromalı makroları kullandığınızda, bunların bazıları bir tableName (yani, varsayılandan farklı bir dize dosyası) belirtme yeteneğine sahiptir. Daha sonra farklı bir markalı yapıya ihtiyacım olduğunda, uygun anahtar-değer çiftleriyle yeni bir .strings dosyası oluşturuyorum.

Daha sonra kodu varsayılan değerler ile inşa eden bir hedefe ve yerleşik kodu alıp uygun .strings dosyasını uygun konuma koparan ikinci bir hedefe sahibim. Bu oldukça iyi çalışıyor ve birçok farklı lezzetleri yönetmemize izin verdi.

İlgili konular