Uygulama açıklayıcı dosyasında iPhone uygulama özelliklerini ayarlama

Uygulama açıklayıcı dosyası, adı, sürümü, telif hakkı ve diğer ayarlar gibi uygulamanın bütününün özelliklerini içeren bir XML dosyasıdır.

Flash Professional CS5, iPhone Ayarlar iletişim kutusundaki ayarlara göre bir uygulama açıklayıcı dosyası oluşturur. Ancak, uygulama açıklayıcı dosyasını bir metin düzenleyicide de düzenleyebilirsiniz. Flash Professional uygulama açıklayıcı dosyasını proje adına “-app.xml” ekleyerek adlandırır. Örneğin, HelloWorld projesinin uygulama açıklayıcı dosyası HelloWorld-app.xml'dir. Flash Professional CS5 iPhone Ayarlar iletişim kutusunda desteklenmeyen ayarlar tanımlamak isterseniz uygulama açıklayıcı dosyasını düzenleyin. Örneğin, uygulamanın info.Plist ayarlarını tanımlamak için InfoAdditions öğesini tanımlayabilirsiniz.

Önemli: Flash Professional CS5 iletişim kutusu açıkken uygulama açıklayıcısı dosyasını düzenlemeyin. iPhone Ayarları iletişim kutusunu açmadan önce, değişiklikleri uygulama açıklayıcı dosyasına kaydedin.

Bu örnek bir uygulama tanımlayıcı dosyasıdır:

<?xml version="1.0" encoding="UTF-8"?> 
<application xmlns="http://ns.adobe.com/air/application/2.0"> 
    <id>com.example.HelloWorld</id> 
    <filename>HelloWorld</filename> 
    <name>Hello World</name> 
    <version>v1</version> 
    <initialWindow> 
        <renderMode>gpu</renderMode> 
        <content>HelloWorld.swf</content> 
        <fullScreen>true</fullScreen> 
        <aspectRatio>portrait</aspectRatio> 
        <autoOrients>true</autoOrients> 
    </initialWindow> 
    <supportedProfiles>mobileDevice desktop</supportedProfiles> 
    <icon> 
        <image29x29>icons/icon29.png</image29x29> 
        <image57x57>icons/icon57.png</image57x57> 
        <image512x512>icons/icon512.png</image512x512> 
    </icon> 
    <iPhone> 
        <InfoAdditions> 
            <![CDATA[ 
                <key>UIStatusBarStyle</key> 
                <string>UIStatusBarStyleBlackOpaque</string> 
                <key>UIRequiresPersistentWiFi</key> 
                <string>NO</string> 
            ]]> 
        </InfoAdditions> 
    </iPhone> 
</application>

Bunlar da uygulama açıklayıcı dosyasındaki ayarlara ilişkin ayrıntılardır:

  • <application> öğesinde iPhone uygulamaları oluşturmak için AIR 2.0 ad alanı gerekir:

    <application xmlns="http://ns.adobe.com/air/application/2.0">

  • <id> öğesi:

    <id>com.ornek.as3.HelloWorld</id> Uygulama kimliği uygulamanızı diğerlerinden ayırır. Tavsiye edilen biçim, "com.company.AppName" gibi nokta sınırlı ve ters DNS stili olan bir dizedir. Derleyici bu değeri iPhone uygulamasının paket kimliği olarak kullanır.

    Temel hazırlık dosyası belirli bir uygulama kimliğine bağlıysa, o uygulama kimliğini bu öğede kullanın. Apple'ın Apple uygulama kimliğinin (paket çekirdeği kimliği olarak da bilinir) başına atadığı karakterleri göz ardı edin. Örneğin, temel hazırlık profilinin uygulama kimliği 96LPVWEASL.com.ornek.bob.uygulamam ise, uygulama açıklayıcısı dosyasında uygulama kimliği olarak com.ornek.bob.uygulamam öğesini kullanın.

    Temel hazırlık profili birden fazla (joker) uygulama kimliğinin kullanılmasına izin veriyorsa, uygulama kimliği yıldız işareti ile biter (5RM86Z4DJM.* gibi). Apple'a verdiğiniz uygulama kimliği joker deseniyle eşleşen bir uygulama kimliği sağlayın.

    • Apple uygulama kimliğinizin com.etkiAlanim.* ise,uygulama açıklayıcısı dosyasındaki uygulama kimliği com.etkiAlanim ile başlamalıdır. com.etkiAlanim.uygulamam veya com.etkiAlanim.app22 gibi bir uygulama kimliği belirtebilirsiniz.

    • Apple uygulama kimliğiniz * ise, uygulama açıklayıcısı dosyasındaki Uygulama Kimliği geçerli karakterlerden oluşan herhangi bir dize olabilir.

    Bir temel hazırlık profiliyle ilişkili Apple uygulama kimliğini (veya joker uygulama kimliği desenini) iPhone Dev Center'da bulabilirsiniz ( http://developer.apple.com/iphone ). iPhone Geliştirici Programı Portalı'na gidin ve ardından Temel Hazırlık bölümüne gidin.

    Önemli: Apple uygulama kimliğinin önündeki karakterleri göz ardı edin. Apple bu dizeyi Paket Çekirdeği Kimliği olarak adlandırır. Örneğin, Apple uygulama kimliğinizi 5RM86Z4DJM.* olarak listeliyorsa 5RM86Z4DJM kısmını göz ardı edin—bu bir joker uygulama kimliğidir. Apple uygulama kimliğinizi 96LPVWEASL.com.example.bob.uygulamam olarak listeliyorsa, 96LPVWEASL kısmını göz ardı edin—uygulama kimliği olarak com.example.bob.uygulamam kısmını kullanın.

  • <filename> öğesi:

    <filename>HelloWorld</filename> iPhone yükleyici dosyası için kullanılan ad. Dosya adına bir artı işareti (+) karakteri dahil etmeyin.

  • <name> öğesi:

    <name>Hello World</name> Uygulamanın iTunes uygulamasında ve iPhone aygıtında gösterilen adı. Ada bir artı işareti (+) karakteri dahil etmeyin.

  • <version> öğesi:

    <version>1.0</version> Kullanıcıların uygulamanızın hangi sürümünü yüklediklerini belirlemelerine yardımcı olur. Bu sürüm iPhone uygulamasının CFBundleVersion sürümü olarak kullanılır. n 0 ile 9 arasında bir rakamı ve parantezler isteğe bağlı bileşenleri ifade etmek üzere nnnnn[.nn[.nn]] gibi bir biçimde olmalıdır; örneğin, 1, 1.0 veya 1.0.1. iPhone sürümleri yalnızca basamak ve ondalık noktaları içermelidir. iPhone sürümleri en fazla iki ondalık noktası içerebilir.

  • <initialWindow> öğesi uygulamanın başlangıç görünümüne ait özellikleri belirten şu alt öğeleri içerir:

    <content>HelloWorld.swf</content> iPhone uygulamasına derlenecek kök SWF dosyasını tanımlar.

    <visible>true</visible> Bu zorunlu bir ayardır.

    <fullScreen>true</fullScreen> Uygulamanın iPhone aygıtının tüm ekranını kullandığını belirtir.

    <aspectRatio>portrait</aspectRatio> Uygulamanın ilk boyut oranının dikey (yatay yerine) olduğunu belirtir). Bu ayar ne olursa olsun, uygulamanın başlangıç penceresini tanımlamada kullanılan Default.png dosyası 320 piksel genişlik ve 480 piksel yüksekliğe sahip olmalıdır. (Bkz. iPhone simgesi ve başlangıç ekran görüntüleri .)

    <autoOrients>true</autoOrients> (İsteğe bağlı) Aygıt kendi fiziksel yönlendirmesini değiştirdiğinde uygulamadaki içerik yönlendirmesinin de kendiliğinden değişip değişmediğini belirtir. Varsayılan olarak true değerindedir. Otomatik yönlendirmeyi bir orientationChanging olayının Sahne nesnesiyle gönderilen preventDefault() yöntemini kullanarak iptal edebilirsiniz. Daha fazla bilgi için bkz. Ekran yönlendirmesini ayarlama ve tespit etme .

    Otomatik yönlendirme kullanırken en iyi sonucu almak için Sahne Alanı'nın align özelliğini şu şekilde ayarlayın:

    stage.align = StageAlign.TOP_LEFT; 
    stage.scaleMode = StageScaleMode.NO_SCALE;

    <renderMode>gpu</renderMode> (İsteğe bağlı) Uygulamanın kullandığı görüntüleme modu. Üç tip ayar mümkündür:

    • cpu —Uygulama tüm ekran objelerini görüntülemek için CPU kullanır. Donanım hızlandırma kullanılmaz.

    • gpu —Uygulama bitmap'leri birleştirmek için iPhone GPU kullanır.

    • otomatik —Bu özellik uygulamaya konmamıştır.

    Daha fazla bilgi edinmek için bkz. Donanım hızlandırma .

  • <profiles> öğesi:

    <profiles>mobileDevice</profiles> Uygulamanın mobil aygıt profiline derlenmesini sınırlandırır. Bu profil şu anda sadece iPhone uygulamalarını desteklemektedir. Üç adet profil desteklenmektedir:

    • desktop —Bir masaüstü AIR uygulaması.

    • extendedDesktop —Yerel işlem API desteğine sahip bir masaüstü AIR uygulaması.

    • mobileDevice —Mobil aygıtlar için bir AIR uygulaması. Şu anda iPhone desteklenen tek mobil aygıttır.

    Uygulamayı belli bir profille sınırlandırmak, diğer profillere derlenmesini önler. Herhangi bir profil belirtmezseniz, uygulamayı bu profillerden herhangi birine derleyebilirsiniz. <profiles> öğesinde her birini boşluklarla ayırarak listeleme yoluyla birden fazla profil belirleyebilirsiniz.

    mobileDevice profilini desteklenen bir profil olarak eklemeyi unutmayın (ya da <profiles> öğesini boş bırakın).

  • <icon> öğesi uygulama tarafından kullanılan simgeleri belirten şu alt öğeleri içerir:

    <image29x29>icons/icon29.png</image29x29> Spotlight arama sonuçlarında bu resim kullanılır.

    <image48x48>icons/icon48.png</image48x48> iPad'de Spotlight arama sonuçlarında bu resim kullanılır.

    <image57x57>icons/icon57.png</image57x57> iPhone ve iPod Touch ana ekranında bu resim kullanılır.

    <image72x72>icons/icon72.png</image72x72> iPad ana ekranında bu resim kullanılır.

    <image512x512>icons/icon512.png</image512x512> iTunes uygulamasında bu resim kullanılır.

    Packager for iPhone aracı, uygulama açıklayıcı dosyasında belirtilen 29, 57 ve 512 simgelerini kullanır. Araç bunları sırasıyla Icon-Small.png, Icon.png ve iTunesArtwork adlı dosyalara kopyalar. Bu kopyalamayı önlemek için bu dosyaları doğrudan paketleyebilirsiniz. Bu dosyaları uygulama açıklayıcı dosyasını içeren dizine yerleştirerek doğrudan paketleyin ve doğru adları ve yolları listeleyin.

    512 resmi yalnızca dahili testler içindir. Bir uygulamayı Apple'a gönderirken 512 resmini ayrıca gönderirsiniz. Bu dosya IPA'da yer almaz. 512 resminizi göndermeden önce iTunes'ta iyi görünmesini sağlamak için belirtin.

  • <iPhone> öğesi iPhone aygıtına özel ayarları belirten aşağıdaki alt öğeleri içerir:

    <InfoAdditions></InfoAdditions> uygulamanın Info.plist ayarları olarak kullanılacak tuş değeri çiftlerini belirten alt öğeler içerir:
    <![CDATA[ 
        <key>UIStatusBarStyle</key> 
        <string>UIStatusBarStyleBlackOpaque</string> 
        <key>UIRequiresPersistentWiFi</key> 
        <string>NO</string> 
    ]]>

    Bu örnekte değerler uygulamanın durum çubuğu stilini belirlerken uygulamanın sürekli bir Wi-Fi erişimi gerektirmediğini ifade eder.

    InfoAdditions ayarları bir CDATA etiketine eklenmiştir.

    iPad desteği için UIDeviceFamily için tuş değeri ayarlarını ekleyin. UIDeviceFamily ayarı bir dize dizisidir. Her dize desteklenen aygıtları tanımlar. <string>1</string> ayarı iPhone ve iPod Touch için desteği tanımlar. <string>2</string> ayarı iPad için desteği tanımlar. <string>3</string> ayarı tvOS için desteği tanımlar. Bu dizelerden yalnızca birini belirtirseniz, yalnızca bu aygıt ailesi desteklenir. Örneğin, aşağıdaki ayar sınırları iPad'i destekler:

    <key>UIDeviceFamily</key> 
        <array> 
            <string>2</string> 
        </array>>

    Aşağıdaki kümeler iki aygıt ailesini de destekler (iPhone/iPod Touch ve iPad):

    <key>UIDeviceFamily</key> 
    <array> 
        <string>1</string> 
        <string>2</string> 
    </array>

    Diğer Info.plist ayarları hakkında bilgi edinmek için bkz. Apple geliştirici belgeleri.