2017-11-02 149 views
11

Sadece belirli bir plan için bazı paket öğeleri eklemek istiyorum. Bir komut dosyası oluşturabilirim, ancak mevcut şemayı okuyamıyorum.Belirli bir Şema için Paket Öğeleri Ekleme?

Bazı paket dosyalarını yalnızca xCode 9.x'deki belirli bir şema için ekleme şansı var mı?

+0

dosyaları .xcconfig kullanıyor musunuz? Bunu yaparsanız, dosyalarınızı farklı olarak (belki de şema adlarınızdan sonra) alabilir ve xcconfig dosyasında dosyanın ismiyle bir değişkeniniz olabilir. –

cevap

2

Maalesef Xcode 9'u kullanarak belirli bir şema için bir dosya ekleyemezsiniz, ancak diğerini kopyalayan yeni bir hedef oluşturabilir ve özel planınızı bu özel hedefi oluşturmak için yapılandırabilirsiniz. Bu sayede dosyaları sadece özel hedefe (ve dolaylı olarak özel şemaya) ekleyebilirsiniz. Hedef kopyalamak için bunu yapmak çok kolaydır. Vs üretiminin oluşturulduğu geliştirmeyi yönetmek için hedefleri nasıl kullanacağınız hakkında bir eğitici bulabilirsiniz this answer

Here.

Bu sorunun cevabını umarım.

3

Komut dosyasında geçerli yapı yapılandırmanızı alabilirsiniz.

Geçerli yapı yapılandırmanızı çoğaltabilirsiniz, bu, bu yapılandırma için tüm ayarlarınızı kaydeder. Bundan sonra, yeni yapılandırmanızı yeniden adlandırın ve şemada buna bakın (ayrı bir şema kullanmanıza gerek yoktur), örneğin, bu kaynakları yalnızca çalışacak şekilde eklemek istediğinizi söyleyebilirsiniz. Bu durumda, yeni yapılandırmanızı mevcut şemanızın Run build konfigürasyonuna ayarlamanız yeterlidir). Tüm kurduktan sonra

böyle sizin çalışma komut belirli yapılandırmasına kontrol edebilirsiniz:

if [ "${CONFIGURATION}" = "BetaDebug" ] || [ "${CONFIGURATION}" = "BetaRelease" ] ; then 
// Do something specific for that config 
elif [ "${CONFIGURATION}" = "ProductionDebug" ] || [ "${CONFIGURATION}" = "ProductionRelease" ] ; then 
// Do something specific for that config 
fi 

"${CONFIGURATION}" yapılandırma adıdır.

3

Copy Bundle Resources aşamasından sonra böyle komut dosyasını çalıştırın:

if [ "${CONFIGURATION}" = "Release" ]; then 
cp -r ${PROJECT_DIR}/Settings/production/Settings.bundle "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app" 
fi