Özet
ibtool [seçenekler] belge
Açıklama
ibtool, bir Interface Builder belgesinin içeriğini doğrular, günceller ve yazdırır, çıktısını standart plist formatında üretir. Araç; "okuma", "düzenleme", "yazma", "yazdırma" işlem sırasını takip eder.
Seçenekler
Çıktıyı Belirtme: --write yol Elde edilen Interface Builder belgesini belirtilen yola yazar.
--output-format format Varsayılan olarak ibtool, çıktıyı bir XML özellik listesi (property list) biçiminde sağlar. binary1 değerinin belirtilmesi, ibtool'a ikili (binary) bir özellik listesi çıktılaması talimatını verir. Benzer şekilde xml1, bir XML özellik listesini belirtir ve human-readable-text ise insan tarafından okunabilir metni belirtir.
Derleme: --compile yol Girdi dosyasını derler ve belirtilen yola yazar. Derleme seçeneği, ibtool'a bir Interface Builder belgesini çalışma zamanında yüklenebilecek bir dosyaya dönüştürmesini söyler. Derleme seçeneği, hem çalıştırılabilir hem de düzenlenebilir bir çıktı dosyası üretmek için --flatten NO seçeneğiyle birleştirilebilir. Ayrıca, --warnings, --errors ve --output-format seçenekleri, --compile ile yaygın olarak birleştirilen diğer üç seçenektir.
--flatten mantıksal_değer --compile seçeneği ve NO değeri ile birleştirildiğinde, --flatten seçeneği ibtool'a hem çalıştırılabilir hem de düzenlenebilir bir çıktı dosyası üretmesi talimatını verir. Bu seçenek genellikle bir ürünü yerelleştirmeye hazırlarken kullanılır. Herhangi bir değer belirtilmezse, varsayılan düzleştirme (flattening) seçeneği YES'tir.
--module modülAdı Çalışma zamanında geçerli özel sınıf adlarına dahil edilecek modül adını belirtir. Modül adı, Interface Builder belgesinin derlendiği hedefin PRODUCT_MODULE_NAME derleme ayarıyla eşleşmelidir. Bu seçenek, özel sınıfı bir Swift sınıfı olan ve customModuleProvider özniteliği target olarak ayarlanmış bir nesne içeren herhangi bir belgenin derlenmesi için gereklidir.
Son İşleme: --strip yol Girdi Interface Builder NIB belgesinden tasarım zamanı içeriğini kaldırır ve ayıklanmış çıktıyı belirtilen yola yazar. Bir NIB dosyasının ayıklanması (strip), boyutunu küçültür ve onu düzenlenemez hale getirir.
Paketleri Yükleme: --bundle paketYolu paketYolu adresinde bulunan paketi (bundle) yükler.
Yerelleştirme: --previous-file öncekiDosya Artımlı yerelleştirmeler amacıyla, önceki geliştirme yinelemesinden kalan Interface Builder belgesini belirtilen öncekiDosya olarak tanımlar.
--incremental-file artımlıDosya Artımlı yerelleştirmeler sırasında önceki yerelleştirmelerin alınacağı Interface Builder belgesini belirtir. artımlıDosya, genellikle --previous-file ile belirtilen belgenin çevrilmiş sürümü olacaktır.
--localize-incremental Girdi belgesi, öncekiDosya ile belirtilen belge ve artımlıDosya ile belirtilen belge arasındaki yapısal ve yerelleştirme değişikliklerini birleştirir ve elde edilen belgeyi --write ile belirtilen yola yazar. Bu seçenek belirtildiğinde, mutlaka bir --previous-file ve bir --incremental-file sağlanmalıdır.
--reference-external-strings-file --compile seçeneğiyle birleştirildiğinde bu bayrak, Base.lproj yerel ayar klasöründeki dosyaların, yüklendiklerinde diğer yerel ayarlarda bulunan eşleşen harici dizgi (strings) dosyalarına başvuracak şekilde derlenmesi gerektiğini belirtir. 10.8 ve sonraki sürümlerde mevcuttur.
--companion-strings-file yerel_ayar:dizgiDosyası --compile seçeneğiyle birleştirildiğinde, --companion-strings-file derlenmiş belgeyle ilişkili bir dizgi dosyasının yerel ayarını ve girdi yolunu belirtir. ibtool, dizgi dosyasını o yerel ayar için lproj dizinine kopyalayacaktır. Eğer ibtool çıktı olarak derlenen belgeyi yeniden adlandırırsa, çıktı dizgi dosyasını da yeniden adlandırır. Bu seçenek --reference-external-strings-file seçeneğini dolaylı olarak etkinleştirir ve ilişkili her dizgi dosyası için bir kez tekrarlanmalıdır. --compile ile sağlanan çıktı yolu, "Base.lproj" adlı bir dizinde bulunmalıdır.
İçe Aktarma: --import plist plist içinde belirtilen özellik değerlerini, Interface Builder belgesinde eşleşen nesne kimliğine (object ID) sahip nesneye uygular. plist, nesne kimliklerini çevreleyen com.apple.ibtool.document.export anahtarını içeren sözlük kaldırılmış olarak, --export tarafından üretilen biçimde bir plist olmalıdır. Bir özelliğin bu şekilde ayarlanmasının aslında o özelliğin değerini değiştirmeyebileceğini veya aksine ek özellikleri değiştirebileceğini unutmayın. Çoğunlukla, bu seçeneğe verilen girdi, --export çıktısının düzenlenmiş bir sürümüdür. Düzenlenmiş özellik değerlerine sahip bir Interface Builder belgesi üretmek için bu seçeneği --write ile birleştirin.
--import-strings-file dizgiDosyası Belgenin yerelleştirilebilir dizgilerini dizgiDosyası ile belirtilen çevirilerle değiştirir. dizgiDosyası, --generate-strings-file tarafından üretilen biçimde olmalıdır.
--import-xliff XLIFFBelgesi Belgenin yerelleştirilebilir dizgilerini XLIFFBelgesi ile belirtilen çevirilerle değiştirir. XLIFFBelgesi, --export-xliff tarafından üretilen biçimde olmalıdır.
Dışa Aktarma: --export plist Interface Builder belgesindeki her nesne için, nesnenin üyesi olduğu veya türetilmiş bir sınıfın üyesi olduğu plist'te listelenen her sınıf için plist içinde belirtilen özelliklerin birleşimini dışa aktarır. plist, anahtarlar için sınıf adlarından ve değerler için özellik anahtar yollarının (property key paths) dizilerinden oluşan bir sözlükten meydana gelmelidir. Çıktı, com.apple.ibtool.document.export anahtarı altında bir sözlükten oluşan bir plist'tir; burada her anahtar bir nesne kimliği (object ID) ve her değer, karşılık gelen değerlerine giden özellik anahtar yollarının bir sözlüğüdür. İkinci seviye sözlükteki bir anahtar '.' ile başlıyorsa, bu bir anahtar yolu değildir. Şu anda tek özel anahtar, değeri nil olan anahtar yollarının bir dizisini tanımlayan ".nilKeypaths" anahtarıdır.
--export komutu için beklenen plist biçimine ilişkin bir örnek aşağıda verilmiştir; bu örnek, verilen belgedeki herhangi bir NSCell nesnesinin 'title' özelliğini dışa aktaracaktır.
Yeniden Yapılandırma (Refactoring): --convert eski-yeni 'eski' adlı sınıfı 'yeni' olarak yeniden adlandırır. 'eski' ifadesi '*' ile bitiyorsa, 'eski' ile başlayan tüm sınıfları 'yeni' ile başlayacak şekilde yeniden adlandırır. Bu seçenek tüm outlet türlerini, sınıf adlarını, özel sınıfları ve gerçek örnekleri günceller.
--upgrade Girdi Interface Builder belgesini en son belge türüne yükseltir. Çıktı yolu --write ile belirtilmemişse, yükseltilen belge girdi yoluna yazılacaktır.
--remove-plugin-dependencies Interface Builder 3 eklentilerine (plug-in) olan tüm bağımlılıkları kaldırarak belgenin Xcode içinde kullanılabilmesini sağlar ve elde edilen belgeyi --write ile belirtilen yola yazar. Eklentiler tarafından entegre edilen nesne örnekleri, sistem çatıları (frameworks) tarafından entegre edilen sınıf örnekleriyle değiştirilir ve özel sınıf, eski sınıfa karşılık gelecek şekilde ayarlanır. Nesne üzerinde ayarlanan her öznitelik için, mümkün olan yerlerde elde edilen nesne üzerinde karşılık gelen bir Kullanıcı Tanımlı Çalışma Zamanı Özniteliği (User Defined Runtime Attribute) ayarlanır. Dönüştürülemeyen tüm anahtar yolları rapor edilir. Dönüştürme, çalışma zamanı davranışında değişikliklere neden olabilir, bu nedenle dönüştürülen dosyaların doğrulanması gerekir.
Auto Layout ile Çalışma: --enable-auto-layout Verilen belgede Auto Layout özelliğini etkinleştirir ve elde edilen belgeyi --write ile belirtilen yola yazar.
--update-frames Yanlış yerleştirilmiş veya belirsiz nesnelerin çerçevelerini (frames), kısıtlamalarıyla (constraints) eşleşecek şekilde ayarlar. --write ile belirtilen çıktı belgesindeki tüm yanlış yerleştirilmiş ve belirsiz nesneler bu seçenekten etkilenir. Çerçeveler yalnızca Auto Layout kullanan Xcode 5.0 belgelerinde güncellenebilir.
--update-constraints Yanlış yerleştirilmiş nesnelerin kısıtlama sabitlerini, nesneler çerçeveleriyle eşleşecek şekilde ayarlar. --write ile belirtilen çıktı belgesindeki tüm yanlış yerleştirilmiş nesneler bu seçenekten etkilenir. Kısıtlamalar yalnızca Auto Layout kullanan Xcode 5.0 belgelerinde güncellenebilir.
Dosya İçeriğini Yazdırma: --export-strings-file dizgidosyası Interface Builder belgesindeki yerelleştirilebilir dizgileri, --import-strings-file tarafından beklenen biçimde dizgidosyası içine çıkarır.
--export-xliff XLIFFBelgesi Interface Builder belgesindeki yerelleştirilebilir dizgileri, --import-xliff tarafından beklenen biçimde bir XLIFF XML belgesi olarak XLIFFBelgesi içine çıkarır. Bu argüman, elde edilen XLIFF belgesinin kaynak ve hedef dillerini belirtmek amacıyla --source-language ve --target-language argümanlarıyla birleştirilebilir.
--source-language kaynakDil Elde edilen XLIFF belgesinin kaynak dilini belirtir. Bu argüman mutlaka --export-xliff argümanı ile birlikte kullanılmalıdır. Eğer --source-language argümanı belirtilmezse, varsayılan olarak "en" dili kullanılır.
--target-language hedefDil Elde edilen XLIFF belgesinin hedef dilini belirtir. Bu argüman mutlaka --export-xliff argümanı ile birlikte kullanılmalıdır. Eğer --target-language argümanı belirtilmezse, herhangi bir hedef dil kullanılmaz.
--warnings Belge uyarı mesajlarını ibtool'un plist çıktısına dahil eder. Uyarılar com.apple.ibtool.document.warnings anahtarı altında görünür; mesajlar message alt anahtarı altında, uyarı türleri ise type alt anahtarı altında listelenir.
--errors Belge hata mesajlarını ibtool'un plist çıktısına dahil eder. Hatalar com.apple.ibtool.document.errors anahtarı altında görünür; mesajlar message alt anahtarı altında, hata türleri ise type alt anahtarı altında listelenir.
--notices Belge bildirim (notice) mesajlarını ibtool'un plist çıktısına dahil eder. Bildirimler com.apple.ibtool.document.notices anahtarı altında görünür; mesajlar message alt anahtarı altında, hata türleri ise type alt anahtarı altında listelenir.
--localizable-strings Belgenin boş olmayan yerelleştirilebilir dizgilerini ibtool'un plist çıktısına dahil eder. Yerelleştirilebilir dizgiler, com.apple.ibtool.document.localizable-strings anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar yerelleştirilebilir dizgilere sahip nesnelerin nesne kimlikleridir ve değerler özellik adları ile bunlarla ilişkili yerelleştirilebilir dizgilerin sözlükleridir. Boş dizgiler yoksayılır.
--localizable-stringarrays Belgenin birden çoğa (to-many) ilişkilerin değerleri olan yerelleştirilebilir dizgilerini ibtool'un plist çıktısına dahil eder. Birden çoğa yerelleştirilebilir dizgiler, com.apple.ibtool.document.localizable-stringarrays anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar birden çoğa yerelleştirilebilir dizgilere sahip nesnelerin nesne kimlikleridir ve değerler özellik adları ile bunlarla ilişkili yerelleştirilebilir dizgiler dizisinin sözlükleridir.
--localizable-geometry Belgenin yerelleştirilebilir geometrisini ibtool'un plist çıktısına dahil eder. Yerelleştirilebilir geometri, com.apple.ibtool.document.localizable-geometry anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar yerelleştirilebilir geometriye sahip nesnelerin nesne kimleridir ve değerler özellik adları ile o geometrinin bir plist gösteriminin sözlükleridir.
--localizable-other Belgenin dizgiler ve geometri dışındaki diğer yerelleştirilebilir özniteliklerini ibtool'un plist çıktısına dahil eder. Bu öznitelikler, com.apple.ibtool.document.localizable-other anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar yerelleştirilebilir özniteliklere sahip nesnelerin nesne kimlikleridir ve değerler yerelleştirilebilir özellik adları ile bunlarla ilişkili değerlerin sözlükleridir.
--localizable-to-many-relationships Belgenin yerelleştirilebilir birden çoğa ilişkilerini ibtool'un plist çıktısına dahil eder. Bu öznitelikler, com.apple.ibtool.document.localizable-to-many-relationships anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar yerelleştirilebilir özniteliklere sahip nesnelerin nesne kimlikleridir ve değerler yerelleştirilebilir özellik adları ile bunlarla ilişkili değerlerin sözlükleridir.
--localizable-all Belgenin tüm yerelleştirilebilir özniteliklerini ibtool'un plist çıktısına dahil eder. Yerelleştirilebilir öznitelikler, com.apple.ibtool.document.localizable-all anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar yerelleştirilebilir özelliklere sahip nesnelerin nesne kimlikleridir ve değerler --localizable-strings, --localizable-stringarrays, --localizable-geometry, --localizable-other ve --localizable-to-many-relationships tarafından döndürülen özelliklerin birleşimidir.
--objects Belgenin nesnelerini ibtool'un plist çıktısına dahil eder. Nesneler, com.apple.ibtool.document.objects anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar nesne kimlikleridir ve değerler ilişkili nesnenin özellikleridir.
--hierarchy Belgenin hiyerarşisini ibtool'un plist çıktısına dahil eder. Hiyerarşi, com.apple.ibtool.document.hierarchy anahtarı altında objectID, label, name, children ve customClass alt anahtarını içeren iç içe geçmiş bir sözlükler dizisi olarak çıktı olarak verilir.
--connections Belgenin bağlantılarını ibtool'un plist çıktısına dahil eder. Bağlantılar, com.apple.ibtool.document.connections anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar nesne kimlikleridir ve değerler destination-id, destination-label, label, source-id, source-label ve type alt anahtarlarını içeren sözlüklerdir.
--classes Belgenin sınıflarını ibtool'un plist çıktısına dahil eder. Sınıflar, com.apple.ibtool.document.classes anahtarı altında bir sözlük olarak çıktı olarak verilir; burada anahtarlar sınıf adlarıdır ve değerler actions, outlets, superclass ve class alt anahtarlarını içeren sözlüklerdir.
--version-history Belge en son kaydedildiğinde kullanılan IB/Sistem Sürümünü yazdırır. Sürüm geçmişi bilgileri, interface-builder-version alt anahtarını içeren com.apple.ibtool.document.version-history anahtarı altında çıktı olarak verilir.
--all: Yukarıda listelenen tüm bilgileri ibtool'un plist çıktısına dahil eder.
Sürüm Bilgisi: --version ibtool'un sürümünü yazdırır. Sürüm bilgisi, bundle-version ve short-bundle-version alt anahtarlarını içeren com.apple.ibtool.version anahtarı altında çıktı olarak verilir.
Örnekler
ibtool --export-strings-file dosya.strings dosya.nib
ibtool, dosya.nib'deki tüm yerelleştirilebilir dizgileri içeren bir strings dosyası çıktılayacaktır.
ibtool --previous-file orig.nib --incremental-file trans.nib --localize-incremental --write yeniTrans.nib mod.nib
ibtool, mod.nib'deki değişikliklere ve trans.nib'deki yerelleştirmelere karşı orig.nib'den yararlanacak ve yeni çevrilmiş nib dosyasını yazacaktır.
ibtool --previous-file orig.nib --incremental-file trans.nib --import-strings-file str.strings --localize-incremental mod.nib --write yeniTrans.nib
ibtool, yukarıdakiyle aynı şekilde çalışacak ancak belgeyi yazmadan önce str.strings dosyasındaki dizgileri uygulayacaktır.
ibtool --warnings --errors --notices dosya.nib > alerts.plist
alerts.plist dosyası, dosya.nib'den gelen tüm uyarı, hata ve bildirim mesajlarını içerecektir.
ibtool --plugin yol/eklenti.plugin --localizable-geometry dosya.nib
ibtool, eklenti.plugin dosyasını yükleyecek ve dosya.nib içindeki tüm yerelleştirilebilir geometrilerin plist çıktısını verecektir.
ibtool --convert eskiAd-yeniAd dosya.nib
ibtool, tam adı "eskiAd" olan tüm sınıfları "yeniAd" olarak değiştirecektir.
ibtool --convert Eski'*'-Yeni dosya
ibtool, "EskiName", "EskiClassName" ve "EskiClass" gibi adları "Eski" ile başlayan tüm sınıfları "Yeni" ile başlayacak şekilde değiştirecektir. Örneğin, önceden bahsedilen sınıflar sırasıyla "YeniName", "YeniClassName" ve "YeniClass" olarak değiştirilecektir.
ibtool --export export.plist dosya.nib
ibtool, export.plist içinde belirtilen özellikleri dışa aktaracak ve Nesne Kimliklerini özellik değerleriyle eşleyen bir plist çıktılayacaktır.
ibtool --export-xliff generated.xlf inputDocument.xib
ibtool, girdi belgesi "inputDocument.xib" içindeki tüm yerelleştirilebilir dizgileri içeren "generated.xlf" adında bir XLIFF belgesi oluşturacaktır. Kaynak ve hedef diller belirtilmediğinden, kaynak dil olarak İngilizce kullanılacak ve hedef dil dahil edilmeyecektir.
ibtool --export-xliff generated.xlf --source-language es --target-language fr inputDocument.xib
ibtool, girdi belgesi "inputDocument.xib" içindeki tüm yerelleştirilebilir dizgileri içeren "generated.xlf" adında bir XLIFF belgesi oluşturacaktır. "generated.xlf" belgesinin kaynak dili İspanyolca, hedef dili ise Fransızca olarak işaretlenir.
ibtool --import-xliff translation.xlf --write translated.xib inputDocument.xib
ibtool, "translation.xlf" XLIFF belgesinde bulunan çevirileri "inputDocument.xib" girdi belgesine uygulayacak ve ortaya çıkan çevrilmiş belgeyi "translated.xib" dosyasına yazacaktır.
Ayrıca Bakınız
plist(5)
Apple Inc. 19 Mart 2015 ibtool(1)