Festlegen von iPhone-Anwendungseigenschaften in der Anwendungsdeskriptordatei

Die Anwendungsdeskriptordatei ist eine XML-Datei mit Eigenschaften für die gesamte Anwendung, zum Beispiel Name, Version, Copyright und andere Angaben.

Flash Professional CS5 generiert eine Anwendungsdeskriptordatei basierend auf den Einstellungen im Dialogfeld „iPhone-Einstellungen“. Sie können die Anwendungsdeskriptordatei auch in einem Texteditor bearbeiten. Flash Professional benennt die Anwendungsdeskriptordatei, indem an den Projektnamen „-app.xml“ angehängt wird. Die Anwendungsdeskriptordatei für das Projekt „HelloWorld“ heißt zum Beispiel „HelloWorld-app.xml“. Bearbeiten Sie die Anwendungsdeskriptordatei, wenn Sie Einstellungen definieren möchten, die vom Flash Professional CS5-Dialogfeld „iPhone-Einstellungen“ nicht unterstützt werden. Sie können zum Beispiel das Element InfoAdditions definieren, um „info.Plist“-Einstellungen für die Anwendung zu definieren.

Wichtig: Bearbeiten Sie die Anwendungsdeskriptordatei nicht, während das Flash Professional CS5-Dialogfeld geöffnet ist. Speichern Sie Änderungen an der Anwendungsdeskriptordatei, bevor Sie das Dialogfeld „iPhone-Einstellungen“ öffnen.

Es folgt ein Beispiel für eine Anwendungsdeskriptordatei:

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

Nachstehend sind Details zu den Einstellungen in dieser Anwendungsdeskriptordatei aufgeführt:

  • Im Element <application> ist der AIR 2.0-Namespace erforderlich, um iPhone-Anwendungen zu erstellen:

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

  • Das Element <id> :

    <id>com.example.as3.HelloWorld</id> Die Anwendungs-ID identifiziert Ihre Anwendung eindeutig. Das empfohlene Format ist ein durch einen Punkt getrennter String im umgekehrten DNS-Stil, zum Beispiel "com.firma.AppName" . Der Compiler verwendet diesen Wert als Bundle-ID für die iPhone-Anwendung.

    Wenn die Provisioning-Datei an eine bestimmte App-ID gebunden ist, verwenden Sie diese App-ID in diesem Element. Ignorieren Sie die Zeichen, die Apple am Anfang der Apple App-ID zuweist (dies ist die Bundle-Seed-ID). Wenn die App-ID für das Provisioning-Profil zum Beispiel „96LPVWEASL.com.example.bob.myApp“ lautet, verwenden Sie in der Anwendungsdeskriptordatei „com.example.bob.myApp“ als App-ID.

    Wenn das Provisioning-Profil mehrere App-IDs zulässt (Platzhalter), endet die App-ID mit einem Sternchen (zum Beispiel 5RM86Z4DJM.*). Geben Sie eine App-ID an, die dem Muster der App-ID entspricht, das Sie bei Apple angegeben haben:

    • Wenn Ihre Apple App-ID „com.myDomain.*“ lautet, muss die App-ID in der Anwendungsdeskriptordatei mit „com.myDomain“ beginnen. Sie können eine App-ID wie „com.myDomain.myApp“ oder „com.myDomain.app22“ angeben.

    • Wenn Ihre Apple App-ID „*“ lautet, kann die App-ID in der Anwendungsdeskriptordatei eine beliebige Folge gültiger Zeichen sein.

    Sie finden die mit Ihrem Provisioning-Profil verknüpfte Apple App-ID (oder das Muster für Platzhalter-App-IDs) im iPhone Dev Center ( http://developer.apple.com/iphone ). Gehen Sie zum Portal des iPhone Developer Program und rufen Sie den Provisioning-Bereich auf.

    Wichtig: Ignorieren Sie die Zeichen am Anfang der Apple App-ID. Apple nennt diese Zeichenfolge die Bundle-Seed-ID. Wenn Apple Ihre App-ID zum Beispiel als „5RM86Z4DJM.*“ aufführt, ignorieren Sie 5RM86Z4DJM – dies ist eine Platzhalter-App-ID. Wenn Apple Ihre App-ID als „96LPVWEASL.com.example.bob.myApp“ aufführt, ignorieren Sie 96LPVWEASL und verwenden „com.example.bob.myApp“ als App-ID.

  • Das Element <filename> :

    <filename>HelloWorld</filename> Der Name, der für die iPhone-Installerdatei verwendet wird. Der Dateiname darf kein Pluszeichen (*) enthalten.

  • Das Element <name> :

    <name>Hello World</name> Der Name der Anwendung, der in der iTunes-Anwendung und auf dem iPhone angezeigt wird. Der Name darf kein Pluszeichen (+) enthalten.

  • Das Element <version> :

    <version>1.0</version> Hilft Benutzern dabei, festzustellen, welche Version Ihrer Anwendung sie installieren. Die Version wird als CFBundleVersion der iPhone-Anwendung verwendet. Sie muss in einem Format wie nnnnn[.nn[.nn]] vorliegen, wobei n eine Ziffer zwischen 0 und 9 ist und die Klammern optionale Komponenten wie 1, 1.0 oder 1.0.1 angeben. iPhone-Versionen dürfen nur Ziffern und Dezimalpunkte enthalten. iPhone-Versionen können bis zu zwei Dezimalpunkte enthalten.

  • Das Element <initialWindow> enthält die folgenden untergeordneten Elemente, um die Eigenschaften für das anfängliche Erscheinungsbild der Anwendung anzugeben:

    <content>HelloWorld.swf</content> Gibt die SWF-Stammdatei an, die in die iPhone-Anwendung kompiliert werden soll.

    <visible>true</visible> Dies ist eine erforderliche Einstellung.

    <fullScreen>true</fullScreen> Gibt an, dass die Anwendung den gesamten Bildschirm des iPhone nutzt.

    <aspectRatio>portrait</aspectRatio> Gibt an, dass das anfängliche Seitenverhältnis der Anwendung Hochformat ist (statt Querformat). Beachten Sie, dass die Datei „Default.png“, die das Anfangsfenster der Anwendung definiert, unabhängig von dieser Einstellung 320 Pixel breit und 480 Pixel hoch sein sollte. (Siehe iPhone-Symbole und Bilder für den Startbildschirm .)

    <autoOrients>true</autoOrients> (Optional) Legt fest, ob die Ausrichtung des Inhalts in der Anwendung automatisch angepasst werden soll, wenn die physische Ausrichtung des Geräts geändert wird. Der Standardwert lautet true . Sie können die automatische Ausrichtung ändern, indem Sie die preventDefault() -Methode eines orientationChanging -Ereignisses aufrufen, das vom Stage-Objekt abgesetzt wird. Weitere Informationen finden Sie unter Festlegen und Erkennen der Bildschirmausrichtung .

    Wenn Sie die automatische Ausrichtung verwenden, stellen Sie die align -Eigenschaft folgendermaßen ein, um beste Ergebnisse zu erzielen:

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

    <renderMode>gpu</renderMode> (Optional) Der Renderingmodus, der von der Anwendung verwendet wird. Es gibt drei mögliche Einstellungen:

    • cpu – Die Anwendung verwendet die CPU für die Darstellung aller Anzeigeobjekte. Es wird keine Hardwarebeschleunigung eingesetzt.

    • gpu – Die Anwendung verwendet die iPhone-GPU, um Bitmaps zusammenzusetzen.

    • auto – Diese Funktion wurde nicht implementiert.

    Weitere Informationen finden Sie unter Hardwarebeschleunigung .

  • Das Element <profiles> :

    <profiles>mobileDevice</profiles> Beschränkt die Anwendung darauf, in das Profil für mobile Geräte kompiliert zu werden. Dieses Profil unterstützt zurzeit nur iPhone-Anwendungen. Es gibt drei unterstützte Profile:

    • desktop – Eine Desktop-AIR-Anwendung.

    • extendedDesktop – Eine Desktop-AIR-Anwendung mit Unterstützung für die native Prozess-API.

    • mobileDevice – Eine AIR-Anwendung für ein mobiles Gerät. Zurzeit ist das iPhone das einzige unterstützte mobile Gerät.

    Wenn Sie die Anwendung auf ein bestimmtes Profil beschränken, verhindern Sie, dass sie in andere Profile kompiliert werden kann. Wenn Sie kein Profil angeben, kann eine Anwendung für jedes dieser Profile kompiliert werden. Sie können verschiedene Profile spezifizieren, indem Sie durch Leerzeichen getrennt im <profiles> -Element angeben.

    Achten Sie darauf, mobileDevice als unterstütztes Profil anzugeben (oder lassen Sie das <profiles> -Element leer).

  • Das Element <icon> enthält die folgenden untergeordneten Elemente, um die von der Anwendung verwendeten Symbole anzugeben:

    <image29x29>icons/icon29.png</image29x29> Dies ist das Bild, das in Spotlight-Suchergebnissen verwendet wird.

    <image48x48>icons/icon48.png</image48x48> Dies ist das Bild, das in Spotlight-Suchergebnissen auf dem iPad verwendet wird.

    <image57x57>icons/icon57.png</image57x57> Dies ist das Bild, das für die Startbildschirme von iPhone und iPod Touch verwendet wird.

    <image72x72>icons/icon72.png</image72x72> Dies ist das Bild, das auf Startbildschirm des iPad verwendet wird.

    <image512x512>icons/icon512.png</image512x512> Dies ist das Bild, das in iTunes verwendet wird.

    Der Packager for iPhone verwendet die Symbole (29, 57 und 512), die in der Anwendungsdeskriptordatei definiert sind. Das Tool kopiert sie in die Dateien „Icon-Small.png“, „Icon.png“ bzw. „iTunesArtwork“. Um das Erstellen dieser Kopien zu vermeiden, können Sie diese Dateien direkt „verpacken“. Dazu platzieren Sie sie in dem Verzeichnis, das die Anwendungsdeskriptordatei enthält, und geben die korrekten Namen und Pfade an.

    Das 512-Bild dient nur zu internen Testzwecken. Wenn Sie eine Anwendung an Apple übermitteln, senden Sie das 512-Pixel-Bild separat. Es ist nicht in der IPA-Datei enthalten. Geben Sie das Bild an, um sicherzustellen, dass das 512-Pixel-Bild in iTunes wie gewünscht aussieht, bevor Sie es übermitteln.

  • Das Element <iPhone> enthält die folgenden untergeordneten Elemente zum Festlegen iPhone-spezifischer Einstellungen:

    <InfoAdditions></InfoAdditions> enthält die untergeordneten Elemente zum Festlegen der Schlüssel-Wert-Paare, die als Info.plist-Einstellungen für die Anwendung verwendet werden:
    <![CDATA[ 
        <key>UIStatusBarStyle</key> 
        <string>UIStatusBarStyleBlackOpaque</string> 
        <key>UIRequiresPersistentWiFi</key> 
        <string>NO</string> 
    ]]>

    In diesem Beispiel legen die Werte den Statusleistenstil der Anwendung fest und geben an, dass die Anwendung keinen ständigen Wi-Fi-Zugang benötigt.

    Die InfoAdditions-Einstellungen sind in einem CDATA -Tag enthalten.

    Für die iPad-Unterstützung schließen Sie Schlüssel-Wert-Einstellungen für UIDeviceFamily mit ein. Die UIDeviceFamily -Einstellung ist ein Array von Strings. Jeder String definiert unterstützte Geräte. Die Einstellung <string>1</string> definiert Unterstützung für iPhone und iPod Touch. Die Einstellung <string>2</string> definiert Unterstützung für das iPad. Die Einstellung <string>3</string> definiert die Unterstützung für das tvOS. Wenn Sie nur einen dieser Strings angeben, wird nur die jeweilige Gerätefamilie unterstützt. Die folgende Einstellung limitiert die Unterstützung zum Beispiel auf das iPad:

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

    Die folgende Einstellung legt die Unterstützung beider Gerätefamilien fest (iPhone/iPod Touch und iPad):

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

    Informationen zu weiteren Info.plist-Einstellungen finden Sie in der Entwicklerdokumentation von Apple.