Tuesday 2 August 2011

Universal Uygulamalarda settings.bundle ayrımı

Universal uygulama yazarken, setting bundle'ını iphone ve ipad için ayrıştırmam gerekti. Ipad görünürken iphone'da görünmemesi gereken bir setting parametresi istendi. Bu sorunu şu şekilde çözdüm.

Settings.bundle dosyamızı Other Sources altında tanımladığımızdan bundle dosyamız her iki platform için de tek oluyor mecburen.

Settings.bundle içinde iki tane Root.plist dosyası tanımladım. Bu dosyalardan birine Root~iphone.plist ismini verdim, diğerine de Root~ipad.plist ismini verdim. Her iki dosyanın içindeki değerleri de istediğim şekilde değiştirdim.

Fakat, iOS3.2 versiyonu makine bazlı dosya isimlerini tanımadığından iOS 3.2'de çalışan ipad'lerde Root~ipad.plist dosyası okunamıyordu. Bu nedenle, şöyle bir yönteme gittim. Settings.bundle altında default olarak oluşan Root.plist dosyasını silmedim, sakladım ve bu dosyanın içeriğini Root~ipad.plist dosyasındaki içerikle doldurdum.

Daha pratik bir çözüm bulan varsa paylaşırsa çok sevinirim.

No comments: