2013-09-05 11 views
7

Beyaz etiket yapmak istediğim bir projem var. Temel olarak sadece simgeler, başlatma görüntüleri ve info.plist'in değiştirilmesi gerekir. Sorun, projenin çok büyük olması ve buna ek hedefler ve kaynaklar eklemek istemiyorum.Beyaz bir iOS uygulaması etiketleniyor

Gördüğüm çözüm, ayrı bir proje oluşturmak ve ilkini bağımlılık projesi olarak eklemektir. Bu beyaz etiketleme projesinin hiçbir kodu yoktur ancak bunlar farklı görüntüler ve bunlar için info.plists içeren bir dizi hedefe sahip olacaktır. Bu durumda, her zaman beyaz etiketli uygulamayı etiketlemek istediğimde, kendi görüntü grubuyla başka bir hedef oluşturacağım. Ve başka bir sürüm yapmak istediğimde, tüm bu hedefleri kolayca oluşturabilir ve aynı uygulama için bir grup varyasyon alabilirim. Kulağa kolay geliyor.

Sorun, uygulamadadır. Projeyi bağımlılık olarak bağladım ve hedefle aynı şeyi yaptım. Ancak, uygulamayı her kurduğumda, info.plist dosyasında farklı olsa bile, orijinal adıyla bir yürütülebilir dosya oluşturur. Muhtemelen bu, orijinal hedefin kendi info.plist'idir. Başka bir şey, kaynakların orijinal hedeften başka biriyle nasıl değiştirileceğidir.

herhangi bir yardım

+0

, hedefler istediğini elde etmek için en iyi yoldur, bu çözüm yeniden gözden geçirilmesi gerektiğini. – Cyril

+0

evet, daha fazla düşündüğümde, daha kolay anladığım kadarıyla – Ezeki

cevap

2

işimde bunu takdir ve yaptım nasıl ben o gider ve ben saklamak yedek değerlerinin bir listesini Info.plist'ni işleyen yazdığı bir python komut dosyası var olan alternatif bir plist dosyası. Ayrıca, söz konusu yapı için ihtiyaç duyduğumuz kaynakları gidip enjekte eden bir oluşturma adımı komut dosyası da var.

Paketi istediğiniz şekilde işleyebilirsiniz ancak Xcode uygulamayı imzalamadan hemen önce yapmanız gerekir. Bazı durumlarda, paket içinde Info.plist'i de düzenlemek ve düzenlemek de mümkündür, ki bu da imzalama adımından önce yapmanız yeterlidir.

+0

en basit çözüm, bu gerçekten ilginç geliyor! Bu komut dosyasının örneğini paylaşır mısınız? – Ezeki

+0

Bunu yapamayacağım, bunun yanında ihtiyacınız olandan biraz daha karmaşık. Rehberliğe ihtiyaç duyduğunuz belirli bir bölümünüz var mı? – dtrotzjr

15

Şu anda beyaz etiketli bir iOS uygulaması yönetiyorum. Her beyaz etiket müşterisi için ana projeye hedefler ekliyoruz ve uygulamanızın çoğu bölümünün bir Theme.plist dosyası aracılığıyla yapılandırılabilir olmasını sağladık.

Böylece, her hedef uygulama için tüm sınıfları içerir, ancak özel Info.plist, simgeler, başlatma ekranları, yazı tipi dosyaları ve Theme.plist içerir.

Yukarıda belirtilen @dtrotzjr yaklaşımından kaçındık çünkü Info.plist dosyasının dışında bir kaç şey vardı çünkü hedef başına değişmemiz gerekiyordu ... Ön hazırlık Profili iyi bir örnek ve aynı zamanda ön işlemcili makroları ele alıyordu. İstemci kesicileri için #ifdef.

Ayrıca, yeni devlerin oluşturma işlemini anlamasını kolaylaştırdı.

+0

Bunun kabul edilen cevap olması gerektiğini düşünüyorum çünkü daha esnek ve bant dışı Python gerektirmiyor. –

İlgili konular