Ställa in iPhone-programegenskaper i programbeskrivningsfilen

Programbeskrivningsfilen är en XML-fil som innehåller egenskaper för hela programmet, till exempel namn, version, copyright och andra inställningar.

I Flash Professional CS5 genereras en programbeskrivningsfil utifrån inställningarna i dialogrutan iPhone-inställningar. Du kan också redigera programbeskrivningsfilen i en textredigerare. I Flash Professional namnges programbeskrivningsfilen genom att ”-app.xml” läggs till projektets namn. Programbeskrivningsfilen för till exempel ett HelloWorld-projekt får namnet HelloWorld-app.xml. Redigera programbeskrivningsfilen om du vill ange inställningar som inte stöds i dialogrutan iPhone-inställningar i Flash Professional CS5. Du kan till exempel definiera InfoAdditions -elementet om du vill ange inställningar för info.Plist till programmet.

Viktigt: Du ska inte redigera programbeskrivningsfilen medan dialogrutan Flash Professional CS5 är öppen. Spara ändringar i programbeskrivningsfilen innan du öppnar dialogrutan för iPhone-inställningar.

Här är ett exempel på en programbeskrivningsfil:

<?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>

Här följer mer information om inställningarna i den här programbeskrivningsfilen:

  • I elementet <application> krävs namnutrymmet AIR 2.0 när du skapar iPhone-program:

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

  • Elementet <id> :

    <id>com.example.as3.HelloWorld</id> Det program-ID som ger programmet en unik identifiering. Det rekommenderade formatet är en punktavgränsad sträng med "omvänd DNS", till exempel "se.foretag.Programnamn" . I kompileringen används det här värdet som källpaket-ID för iPhone-programmet.

    Om provisioneringsfilen är knuten till ett specifikt program-ID ska du använda detta program-ID i detta element. Ignorera de tecken som Apple tilldelar i början av program-ID:t (kallas källpaket-ID). Om exempelvis program-ID:t för provisioneringsprofilen är 96LPVWEASL.com.example.bob.myApp, ska du använda com.example.bob.myApp som program-ID i programbeskrivningsfilen.

    Om provisioneringsprofilen tillåter flera (jokertecken) program-ID:n, kommer dess program-ID att avslutas med en asterisk (till exempel 5RM86Z4DJM.*). Ange ett program-ID som stämmer överens med jokerteckenmönstret för det program-ID som du skickade till Apple:

    • Om ditt program-ID från Apple är com.myDomain.*, kommer program-ID i programbeskrivningsfilen att börja med com.myDomain. Du kan ange ett program-ID som till exempel com.myDomain.myApp eller com.myDomain.app22.

    • Om ditt program-ID från Apple är *, kan program-ID i programbeskrivningsfilen bestå av en sträng med giltiga tecken.

    Du kan hitta program-ID:t (eller mönster för program-ID med jokertecken) som är associerat med din provisioneringsprofil på iPhone Dev Center ( http://developer.apple.com/iphone ). Gå till portalen för iPhone-utvecklingsprogram och sedan till avsnittet för provisionering.

    Viktigt: Ignorera tecknen framför program-ID:t från Apple. Apple kallar den här strängen för källpaket-ID. Om exempelvis Apple visar att ditt program-ID är 5RM86Z4DJM.*, ska du ignorera 5RM86Z4DJM eftersom detta är ett program-ID med jokertecken. Om exempelvis Apple visar att ditt program-ID är 96LPVWEASL.com.example.bob.myApp, ska du ignorera 96LPVWEASL och bara använda com.example.bob.myApp som program-ID.

  • Elementet <filename> :

    <filename>HelloWorld</filename> Namnet på iPhone-installationsfilen. Använd inte ett plustecken (+) i filnamnet.

  • Elementet <name> :

    <name>Hello World</name> Namnet på programmet som det visas i iTunes-programmet och på iPhone-skärmen. Använd inte ett plustecken (+) i namnet.

  • Elementet <version> :

    <version>1.0</version> Detta hjälper användarna att avgöra vilken version av ditt program som de installerar. Versionen som används som CFBundleVersion i iPhone-programmet. Detta måste följa formatet nnnnn[.nn[.nn]] där n är en siffra mellan 0-9 och klammerparenteser anger valfria komponenter, till exempel 1, 1.0 eller 1.0.1. iPhone-versioner får endast innehålla siffror och decimalpunkter. iPhone-versioner kan högst innehålla två decimalpunkter.

  • Elementet <initialWindow> innehåller följande underordnade element som anger egenskaperna för hur programmet visas i inledningsskedet:

    <content>HelloWorld.swf</content> Detta identifierar SWF-rotfilen som ska kompileras i iPhone-programmet.

    <visible>true</visible> Den här inställningen krävs.

    <fullScreen>true</fullScreen> Det här anger att programmet använder hela iPhone-skärmen.

    <aspectRatio>portrait</aspectRatio> Det här anger att den inledande skärmbilden för programmet har stående orientering (istället för liggande). Observera att filen Default.png som definierar det inledande fönstret för programmet bör vara 320 pixlar brett och 480 pixlar högt, oavsett inställning. (Se Ikoner och inledande skärmbilder för iPhone .)

    <autoOrients>true</autoOrients> (Valfritt) Det här anger att innehållets orientering i programmet automatiskt ska omorienteras när enheten ändrar fysisk orientering. Standardvärdet är true . Du kan avbryta automatisk orientering genom att anropa metoden preventDefault() för en orientationChanging -händelse som skickats av scenobjektet. Mer information finns i Ställa in och identifiera skärmorientering .

    För att få bästa resultat när du använder autoorientering ska du ställa in egenskapen align på scenen enligt följande:

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

    <renderMode>gpu</renderMode> (Valfritt) Det återgivningsläge som används av programmet. Det finns tre möjliga inställningar:

    • cpu – Programmet använder processorn för att återge alla visningsobjekt. Ingen maskinvaruacceleration används.

    • gpu – Programmet använder grafikprocessorn i iPhone-enheten för att komponera bitmappar.

    • auto – Den här funktionen har inte implementerats.

    Mer information finns i Maskinvaruacceleration .

  • Elementet <profiles> :

    <profiles>mobileDevice</profiles> Begränsar programmet till att kompileras i profilen för mobila enheter. Den här profilen stöder för närvarande endast iPhone-program. Det finns tre profiler som stöds:

    • desktop – Ett AIR-skrivbordsprogram.

    • extendedDesktop – Ett AIR-skrivbordsprogram med stöd för API:t för inbyggda processer.

    • mobileDevice – Ett AIR-program för en mobil enhet. För närvarande är iPhone den enda mobila enheten som stöds.

    Genom att begränsa programmet till en särskild profil förhindras det från att kompileras till andra profiler. Om du inte anger någon profil kan du kompilera ett program för vilken profil som helst. Du kan ange flera profiler genom att ange dem var och en, avgränsade med blanksteg, i elementet <profiles> .

    Se till att du inkluderar mobileDevice bland profilerna som stöds (eller lämna <profiles> -elementet tomt).

  • Elementet <icon> innehåller följande underordnade element som anger de ikoner som används i programmet:

    <image29x29>icons/icon29.png</image29x29> Den här bilden används för Spotlight-sökresultat.

    <image48x48>icons/icon48.png</image48x48> Den här bilden används för Spotlight-sökresultat på iPad.

    <image57x57>icons/icon57.png</image57x57> Den här bilden används i hemskärmen på iPhone och iPod touch.

    <image72x72>icons/icon72.png</image72x72> Den här bilden används i hemskärmen på iPad.

    <image512x512>icons/icon512.png</image512x512> Den här bilden används i iTunes-programmet.

    I verktyget Packager for iPhone används 29-, 57- och 512-ikonerna som refereras i programbeskrivningsfilen. Verktyget kopierar dem till filer med namnen Icon-Small.png, Icon.png respektive iTunesArtwork. Om du vill undvika den här kopieringen kan du paketera filerna direkt. Paketera dem direkt genom att placera dem i katalogen med programbeskrivningsfilen och ange de korrekta namnen och sökvägarna.

    Bilden med 512 pixlar är endast till för intern testning. När du skickar ett program till Apple skickar du bilden med 512 pixlar separat. Den ingår inte i IPA-filen. Se till att du kan vara säker på att bilden med 512 pixlar ser bra ut i iTunes innan du skickar den.

  • Elementet <iPhone> innehåller följande underordnade element som anger iPhone-specifika inställningar:

    <InfoAdditions></InfoAdditions> innehåller de underordnade element som anger nyckelvärdepar som används som inställningar för Info.plist för programmet:
    <![CDATA[ 
        <key>UIStatusBarStyle</key> 
        <string>UIStatusBarStyleBlackOpaque</string> 
        <key>UIRequiresPersistentWiFi</key> 
        <string>NO</string> 
    ]]>

    I detta exempel anger värdena statusfältets format i programmet och att programmet inte kräver ständig trådlös nätverksåtkomst.

    InfoAdditions-inställningarna anges i en CDATA -tagg.

    För iPad-stöd inkluderar du nyckelvärdesinställningar för UIDeviceFamily . Inställningen UIDeviceFamily är en array med strängar. Varje sträng definierar enheter som stöds. Inställningen <string>1</string> definierar stöd för iPhone och iPod touch. Inställningen <string>2</string> definierar stöd för iPad. Inställningen <string>3</string> definierar stöd för tvOS. Om du bara anger en av dessa strängar stöds bara den enhetsgruppen. Följande sträng begränsar till exempel stödet till iPad:

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

    Följande anger stöd för båda enhetsgrupperna (iPhone/iPod touch och iPad):

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

    Mer information om andra Info.plist-inställningar finns i Apples dokumentation för utvecklare.