Définition des propriétés d’une application iPhone dans le fichier descripteur correspondant

Le fichier descripteur d’une application est un fichier XML qui contient les propriétés de l’application entière, tels que son nom, sa version, le copyright et d’autres paramètres.

Flash Professional CS5 génère un fichier descripteur d’application basé sur les paramètres que contient la boîte de dialogue Paramètres d’iPhone. Toutefois, vous pouvez également modifier le fichier descripteur d’application dans un éditeur de texte. Flash Professional définit le nom du fichier descripteur d’application en ajoutant « -app.xml » au nom du projet. Ainsi, le fichier descripteur d’application associé au projet HelloWorld porte le nom HelloWorld-app.xml. Modifiez le fichier descripteur d’application si vous souhaitez définir des paramètres non pris en charge dans la boîte de dialogue Paramètres de l’iPhone de Flash Professional CS5. Vous pouvez, par exemple, définir l’élément InfoAdditions pour stipuler les paramètres info.Plist associés à l’application.

Important : ne modifiez pas le fichier descripteur d’application tant que la boîte de dialogue de Flash Professional CS5 est ouverte. Enregistrez les modifications dans le fichier descripteur d’application avant d’ouvrir la boîte de dialogue Paramètres de l’iPhone.

Exemple de fichier descripteur d’application :

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

Informations complémentaires relatives aux paramètres du fichier descripteur d’application :

  • Dans l’élément <application> , l’espace de noms d’AIR 2.0 est requis pour créer des applications iPhone :

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

  • Elément <id> :

    <id>com.example.as3.HelloWorld</id> L’ID d’application identifie de manière unique l’application. Le format recommandé correspond à une chaîne de style DNS inversé dont les éléments sont séparés par un point, telle que « com.company.AppName » . Le compilateur utilise cette valeur à titre d’ID de test de composant pour l’application iPhone.

    Si le fichier de configuration est lié à un ID d’application donné, utilisez ce dernier dans l’élément. Ignorez les caractères affectés par Apple au début de l’ID d’application Apple (appelés identifiant d’application (préfixe)). Ainsi, si l’ID d’application associé au profil de configuration est 96LPVWEASL.com.exemple.jean.monApp, com.exemple.jean.monApp fait office d’ID d’application dans le fichier descripteur d’application.

    Si le profil de configuration prend en charge plusieurs ID d’application (à caractères génériques), son ID d’application se termine par un astérisque (5RM86Z4DJM.*, par exemple). Entrez un ID d’application correspondant au modèle d’ID d’application à caractère générique fourni à Apple :

    • Si l’ID d’application d’Apple est com.monDomaine.*, l’ID d’application figurant dans le fichier descripteur d’application doit débuter par com.monDomaine. Vous pouvez définir un ID d’application tel que com.monDomaine.monApp ou com.monDomaine.app22.

    • Si l’ID d’application Apple est *, l’ID d’application figurant dans le fichier descripteur d’application peut contenir n’importe quelle chaîne de caractères valides.

    Vous trouverez l’ID d’application (ou le modèle d’ID d’application à caractère générique) d’Apple associé à un profil de configuration dans le centre des développeurs iPhone ( http://developer.apple.com/iphone ). Accédez au portail iPhone Developer Program, puis à la section Provisioning.

    Important : ignorez les premiers caractères de l’ID d’application d’Apple. Apple appelle cette chaîne l’identifiant d’application (préfixe). Ainsi, si Apple stipule l’ID d’application 5RM86Z4DJM.*, ignorez 5RM86Z4DJM, qui correspond à un ID d’application contenant un caractère générique. Si Apple stipule l’ID d’application 96LPVWEASL.com.exemple.jean.monApp, ignorez 96LPVWEASL. En d’autres termes, utilisez l’ID d’application com.exemple.jean.monApp.

  • Elément <filename> :

    <filename>HelloWorld</filename> Nom affecté au fichier d’installation iPhone. Le nom du fichier ne doit pas comporter de signe plus (+).

  • Elément <name> :

    <name>Hello World</name> Nom de l’application affiché dans l’application iTunes et sur l’iPhone. Le nom ne doit pas comporter de signe plus (+).

  • Elément <version> :

    <version>1.0</version> Permet à l’utilisateur de déterminer la version de l’application qu’il installe. Cette version fait office de valeur CFBundleVersion de l’application iPhone. Vous devez l’exprimer dans un format similaire à nnnnn[.nn[.nn]], où n correspond à un chiffre compris entre 0 et 9 et les crochets représentent des composants facultatifs tels que 1, 1.0 ou 1.0.1. Les versions d’une application iPhone ne doivent comporter que des chiffres et des séparateurs décimaux (deux au plus).

  • L’élément <initialWindow> contient les éléments enfant suivants, qui indiquent les propriétés de l’aspect initial de l’application :

    <content>HelloWorld.swf</content> Identifie le fichier SWF racine à compiler pour générer l’application iPhone.

    <visible>true</visible> Paramètres obligatoire.

    <fullScreen>true</fullScreen> Indique que l’application occupe la totalité de l’écran de l’iPhone.

    <aspectRatio>portrait</aspectRatio> Indique que le format initial de l’application est en mode portrait (plutôt que paysage). Notez que le fichier Default.png qui définit la fenêtre initiale de l’application doit mesurer 320 pixels de large sur 480 pixels de haut, quelle que soit la valeur de ce paramètre (voir Icône et images de l’écran initial d’un iPhone ).

    <autoOrients>true</autoOrients> (facultatif) Indique si l’orientation du contenu de l’application est automatiquement modifiée lorsque le périphérique pivote. La valeur par défaut est true . Pour annuler l’orientation automatique, appelez la méthode preventDefault() d’un événement orientationChanging distribué par l’objet Stage. Pour plus d’informations, voir Définition et détection de l’orientation d’un écran .

    Si vous activez l’orientation automatique, définissez la propriété align de la scène comme suit pour optimiser les résultats :

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

    <renderMode>gpu</renderMode> (facultatif) Mode de rendu utilisé par l’application. Trois paramètres sont pris en charge, à savoir :

    • cpu : l’application fait appel à l’unité centrale pour effectuer le rendu de tous les objets d’affichage. Aucune accélération matérielle n’est utilisée.

    • gpu : l’application fait appel au processeur graphique de l’iPhone pour créer des images bitmap composites.

    • auto : fonctionnalité non mise en œuvre actuellement.

    Pour plus d’informations, voir Accélération matérielle .

  • Elément <profiles> :

    <profiles>mobileDevice</profiles> Impose la compilation de l’application en fonction du profil de périphérique mobile. Ce profil ne prend actuellement en charge que les applications iPhone. Trois profils sont pris en charge :

    • desktop : application AIR de bureau.

    • extendedDesktop : application AIR de bureau qui prend en charge l’API de processus native.

    • mobileDevice : application AIR destinée à un périphérique mobile. iPhone est l’unique périphérique mobile actuellement pris en charge.

    En associant l’application à un profil donné, vous interdisez sa compilation en fonction d’autres profils. Si vous ne stipulez pas de profil, il est possible de compiler l’application en fonction de n’importe quel profil. Pour stipuler plusieurs profils, recensez-les en séparant chaque élément de la liste par un espace dans l’élément <profiles> .

    Veillez à inclure mobileDevice en tant que profil pris en charge (ou ne renseignez pas l’élément <profiles> ).

  • L’élément <icon> contient les éléments enfant suivants, qui stipulent les icônes utilisées par l’application :

    <image29x29>icons/icon29.png</image29x29> Image utilisée dans les résultats de la recherche Spotlight.

    <image48x48>icons/icon48.png</image48x48> Image utilisée dans les résultats de la recherche Spotlight sur l’iPad.

    <image57x57>icons/icon57.png</image57x57> Image utilisée dans les écrans d’accueil de l’iPhone et de l’iPod touch.

    <image72x72>icons/icon72.png</image72x72> Image utilisée dans l’écran d’accueil de l’iPad.

    <image512x512>icons/icon512.png</image512x512> Image utilisée dans l’application iTunes.

    L’outil Packager for iPhone fait appel aux icônes 29, 57 et 512 référencées dans le fichier descripteur d’application. Il les copie dans des fichiers appelés respectivement Icon-Small.png, Icon.png et iTunesArtwork. Pour éviter l’exécution de la copie, vous pouvez mettre directement en package les fichiers. Pour ce faire, placez-les dans le répertoire contenant le fichier descripteur d’application et indiquez les noms et chemins appropriés.

    L’image 512 est réservée aux tests internes. Lorsque vous envoyez une application à Apple, l’image 512 est transmise séparément. Elle n’est pas incluse dans l’IPA. Stipulez-la pour vous assurer que l’image 512 vous convient avant de l’envoyer.

  • L’élément <iPhone> contient les éléments enfant suivants, qui stipulent les paramètres propres à l’iPhone :

    <InfoAdditions></InfoAdditions> Contient les éléments enfants qui stipulent les paires clé-valeur faisant office de paramètres Info.plist dans l’application :
    <![CDATA[ 
        <key>UIStatusBarStyle</key> 
        <string>UIStatusBarStyleBlackOpaque</string> 
        <key>UIRequiresPersistentWiFi</key> 
        <string>NO</string> 
    ]]>

    Dans cet exemple, les valeurs définies déterminent le style de la barre d’état de l’application et stipulent que cette dernière ne nécessite pas un accès Wi-Fi permanent.

    Les paramètres InfoAdditions sont entourés d’une balise CDATA .

    Pour une prise en charge de l’iPad, incluez des paramètres clé-valeur pour UIDeviceFamily . Le paramètre UIDeviceFamily est un tableau de chaînes. Chaque chaîne définit les périphériques pris en charge. Le paramètre <string>1</string> définit la prise en charge de l’iPhone et de l’iPod touch. Le paramètre <string>2</string> définit la prise en charge de l’iPad. Le paramètre <string>3</string> définit la prise en charge de tvOS. Si vous spécifiez uniquement l’un de ces paramètres, seule cette famille de périphériques est prise en charge. Par exemple, le paramètre suivant limite la prise en charge à l’iPad :

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

    Le paramètre suivant prend en charge les deux familles de périphériques (iPhone/iPod touch et iPad) :

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

    Pour plus d’informations sur d’autres paramètres Info.plist, voir la documentation Apple destinée aux développeurs.