Adobe AIR 1

Transcription

Adobe AIR 1
Notes de parution d’Adobe® AIR™ 1.1
16/06/2008
Table des matières
Configuration requise pour Adobe® AIR™ ........................................................................................ 2
Fonctionnalités AIR 1.1 ...................................................................................................................... 3
Modifications du descripteur d’application ...................................................................................... 3
Additions à l’API dans AIR 1.1........................................................................................................ 4
Migration de certificats .................................................................................................................... 6
Installation d’Adobe AIR ..................................................................................................................... 6
Exécution d’AIR 1.1 et installation des applications AIR ................................................................ 6
Installation transparente.................................................................................................................. 6
Date d’expiration de la version bêta d’AIR...................................................................................... 6
Conseils et astuces ............................................................................................................................ 6
Ouverture d’une application AIR avec Safari sur Mac OS.............................................................. 6
Définition du type MIME sur votre serveur Web pour les applications AIR .................................... 6
adl - Prise en charge du débogage................................................................................................. 7
Dépannage (pour les utilisateurs) ...................................................................................................... 7
Le contenu PDF ne s’affiche pas.................................................................................................... 7
Base de données SQL et fonctionnalité Time Machine de Mac OS 10.5 ...................................... 7
Applications AIR et MobyDock ....................................................................................................... 7
Firefox non utilisé en tant que navigateur par défaut ..................................................................... 7
Dépannage (pour les développeurs) .................................................................................................. 7
Limitations HTTP sous Windows .................................................................................................... 7
Liens vers les images non chargées correctement ........................................................................ 7
Utilisation des propriétés de données pour NativeMenuItem ......................................................... 7
Profils URL non pris en charge....................................................................................................... 8
Propriété ContextMenu.visible........................................................................................................ 8
Prise en charge de scripts de minorités pour la Chine Norme nationale GB 18030-2000............. 8
Clavier virtuel dans du contenu SWF chargé par HTML sur Tablet PC ......................................... 8
Windows 64 bits : Installation d’applications AIR dans le dossier
Program Files sur la version 64 bits............................................................................................. 8
Modèle app: URL avec paramètres d’ouverture de PDF sur le Mac.............................................. 8
Liens htmlText sous Vista ............................................................................................................... 8
Les objets Date de JavaScript transmis au moyen d’un sandbox de
passerelle perdent leur type d’origine .......................................................................................... 8
La définition de la largeur ou de la hauteur d’une iframe sur 100 % peut
entraîner des résultats inattendus................................................................................................ 8
Notes de parution d’Adobe® AIR™ 1.1
1
Les affinités de colonnes DATE et DATETIME sont
incompatibles avec les versions bêta d’AIR................................................................................. 8
Le comportement d’affinité de colonne n’est pas compatible avec les versions bêta d’AIR .......... 9
La barre de menus ou le Dock ne se masquent pas en mode plein écran pour les
fenêtres superposées dans Mac OS............................................................................................ 9
NativeWindow.height signalé de façon incorrecte par l’événement resize .................................. 10
Définition idleThreshold ................................................................................................................ 10
Suivis sur la console ..................................................................................................................... 10
Transfert de l’en-tête « Cookie » à URLRequest.requestHeaders............................................... 10
Chemin de certificat complet requis pour la signature du code.................................................... 10
L’objet point renvoyé à partir de la méthode NativeWindow.globalToScreen()
peut avoir une valeur Y incorrecte sur tout autre écran que l’écran principal............................ 10
setAsDefaultApplication() et association d’extension de fichier sous Windows ........................... 10
removeAsDefaultApplication() et association d’extension de fichier sous
Windows Vista et Mac ................................................................................................................ 10
ADT utilisant proxy avec l’authentification .................................................................................... 10
Enregistrement des événements de l’icône Dock ........................................................................ 11
Largeur et hauteur de NativeWindow ........................................................................................... 11
Configuration requise pour Adobe® AIR™
Adobe a testé Adobe® AIR™ 1.1 sur les configurations minimales suivantes :
Windows
•
•
•
Processeur Intel® Pentium® III 1 GHz ou plus rapide
Microsoft® Windows® XP® avec Service Pack 2 ; Windows XP Edition Tablet PC ; Windows
Vista® Edition Familiale Premium, Professionnel, Ultimate ou Entreprise (ce qui inclut les
éditions 64 bits) ; Windows 2000 avec le Service Pack 4 ; Windows 2003 Server
512 Mo de RAM
Mac OS X
•
•
•
Processeur Intel Core™ Duo 1,83 GHz ou plus rapide ; processeur PowerPC® G4 1 GHz ou
plus rapide
Mac® OS X® 10.4.11 ou Mac OS X 10.5.2
512 Mo de RAM
Versions traduites
La procédure d’installation d’Adobe AIR 1.1 et toutes les boîtes de dialogue relatives à l’exécution ont
été localisées dans les langues suivantes :
•
•
•
•
Chinois traditionnel
Chinois simplifié
Anglais
Français
Notes de parution d’Adobe® AIR™ 1.1
2
•
•
•
•
•
•
•
Allemand
Italien
Japonais
Coréen
Portugais (Brésil)
Russe
Espagnol
Fonctionnalités AIR 1.1
Modifications du descripteur d’application
La mise à jour du descripteur d’application n’est pas obligatoire, cependant elle recommandée pour la
liaison avec l’exécution d’AIR 1.1.
Pour ce faire, modifiez l’attribut xmlns de la façon suivante :
http://ns.adobe.com/air/application/1.1
Cette modification devient indispensable si vous souhaitez utiliser les valeurs localisées dans le
descripteur ou toute autre nouvelle fonctionnalité d’AIR 1.1 (description ci-dessous).
AIR 1.1 prend en charge la localisation des deux éléments dans le fichier descripteur de l’application :
•
•
name
description
Le fichier du descripteur d’application doit être codé au format UTF-8 de façon à pouvoir représenter
différentes langues.
Les développeurs qui ne souhaitent pas localiser leurs applications peuvent inclure le nom et la
description en tant que simples nœuds enfant des éléments name et description, comme dans
AIR 1.0. Les développeurs qui souhaitent localiser leurs applications peuvent utiliser des éléments
text au sein des éléments name et description. L’utilisation des deux n’est pas autorisée.
Exemple d’utilisation des éléments <text> enfant :
<name>
<text xml:lang="en">nom de l’application en anglais</text>
<text xml:lang="fr">nom de l’application en français</text>
<text xml:lang="de">nom de l’application en allemand</text>
<text xml:lang="ja">nom de l’application en japonais</text>
<text xml:lang="es">nom de l’application en espagnol</text>
<text xml:lang="pt">nom de l’application en portugais</text>
<text xml:lang="it">nom de l’application en italien</text>
<text xml:lang="zh_CN">nom de l’application en chinois
simplifié</text>
<text xml:lang="zh_TW">nom de l’application en chinois
traditionnel</text>
<text xml:lang="ko">nom de l’application en coréen</text>
<text xml:lang="ru">nom de l’application en russe</text>
</name>
Notes de parution d’Adobe® AIR™ 1.1
3
Additions à l’API dans AIR 1.1
SQL
•
•
SQLError.detailID : int
SQLError.detailArguments : Array
La valeur de la propriété SQLError.details n’est pas localisée dans AIR. Pour certaines applications
de données, telles que l’outil SQL DB Administration, il est recommandé de localiser ces
informations. Les propriétés supplémentaires de SQLError permettent aux développeurs de localiser
ces chaînes.
Exemple :
var conn:SQLConnection = new SQLConnection();
var dbFile:File =
File.applicationStorageDirectory.resolvePath("DBSample.db");
// La base de données a une table « employee » avec les colonnes
// employeeID, firstName, lastName, birthday
conn.open();
try {
var selectStatement:SQLStatement = new SQLStatement();
selectStatement.sqlConnection = conn;
selectStatement.text = "SELECT name FROM employee;"
selectStatement.execute();
} catch (err:SQLError) {
// il n’existe pas de colonne « name », donc une erreur est renvoyée
localizeError(SQLError);
}
function localizeError(e:SQLError):void {
var argsLength:int = e.detailArguments.length;
switch (e.detailID) {
case 2030:
// chaîne de détails par défaut : "trigger ‘%s’ already exists"
// faire quelque chose
break;
// ... autres cas ...
case 2036:
// chaîne de détails par défaut : "No such column: ‘%s[.%s[.%s]]’"
var colPath:String = "";
Notes de parution d’Adobe® AIR™ 1.1
4
if (argsLength == 1) {
colPath = e.detailArguments[0];
} else if (argsLength == 2) {
colPath = e.detailArguments[0]+"."+e.detailArguments[1];
} else if (argsLength == 3) {
colPath =
e.detailArguments[0]+"."+e.detailArguments[1]+"."+e.detailArguments[2];
}
// ou utiliser les paramètres régionaux pour générer une
// chaîne localisée
displayLocalizedDetail("Column ‘" + colPath + "‘ does not
exist.");
break;
default:
displayLocalizedDetail(e.details);
}
}
function displayLocalizedDetail(str:String):void {
// détail d’affichage de l’erreur
}
NativeWindow
•
NativeWindow.supportsTransparency : Boolean
Cette propriété indique si une fenêtre transparente peut être dessinée par le système d’exploitation.
La valeur de cette propriété est toujours « true » sous Mac OS et Windows. La valeur de cette
propriété sur Linux dépend de la configuration de la distribution de Linux.
Capabilities
•
Capabilities.languages : Array
Tableau de codes de langue que l’utilisateur a demandé en commençant par ses préférences dans le
système d’exploitation, au moyen de panneaux de configuration ou de préférences système.
File
•
File.spaceAvailable : Number
Renvoie l’espace disponible à utiliser à l’emplacement de ce fichier, en octets. Si cet emplacement de
fichier n’existe pas, renvoie 0. Si l’état de l’objet File n’est pas valide, renvoie une exception
IllegalOperationError.
Notes de parution d’Adobe® AIR™ 1.1
5
Migration de certificats
La version d’ADT incluse dans le SDK d’AIR 1.1 comporte une nouvelle option qui permet de mettre
à jour une application, d’un ancien certificat vers un plus récent, tout en préservant l’identité de
l’application (par exemple à partir d’un certificat auto-signé vers un certificat appartenant à une
chaîne) :
> adt -migrate SIGNING-OPTIONS <air-file-in> <air-file-out>
Le fichier <air-file-in> est signé avec le nouveau certificat en premier. L’ancien certificat est
transmis à SIGNING_OPTIONS au moyen de la commande -migrate.
Cette commande accepte un fichier AIR en tant qu’entrée et produit un fichier AIR en tant que sortie.
Dans la mesure où le fichier AIR ne peut contenir qu’une seule signature de migration, il provoque
une erreur si le fichier entrant en comporte déjà une.
Installation d’Adobe AIR
Exécution d’AIR 1.1 et installation des applications AIR
L’installation de l’exécution AIR 1.1 et des applications AIR nécessite des privilèges de niveau
administrateur.
Installation transparente
La fonctionnalité d’installation transparente d’Adobe AIR 1.1 nécessite Flash Player 9 Version 3
(version 9.0.115). Un exemple de badge est fourni pour la fonctionnalité d’installation transparente,
qui peut être personnalisée.
Date d’expiration de la version bêta d’AIR
Les versions Alpha 1, Bêta 1 et Bêta 2 d’Adobe AIR ont expiré. Pour exécuter les applications créées
pour ces versions expirées, vous devez mettre les applications à niveau vers AIR 1.0.x ou 1.1. Adobe
AIR Bêta 3 expire le premier novembre 2008. Après cette date, toutes les applications AIR créées
pour la version Bêta 3 devront être mises à niveau vers AIR 1.0.x ou 1.1. Les utilisateurs ne peuvent
pas installer ou exécuter des applications développées pour une version expirée.
Conseils et astuces
Ouverture d’une application AIR avec Safari sur Mac OS
Sous Mac OS X, lors de l’utilisation de Safari, le fait de cliquer sur un lien d’installation télécharge
l’application AIR sur le bureau sous Mac OS 10.4 (Tiger) et dans le dossier downloads de Mac OS
10.5 (Leopard), au lieu d’installer l’application. Vous pouvez double-cliquer sur le fichier .air
téléchargé pour installer l’application.
Définition du type MIME sur votre serveur Web pour les applications AIR
Pour que les applications clientes reconnaissent une application AIR lors de son téléchargement, le
serveur Web qui héberge l’application AIR nécessite le mappage du type de contenu
application/vnd.adobe.air-application-installer-package+zip MIME avec
l’extension « .air ». Par exemple, pour un serveur Web Apache, ajoutez les éléments suivants dans la
section AddType :
AddType application/vnd.adobe.air-application-installer-package+zip .air
Notes de parution d’Adobe® AIR™ 1.1
6
adl - Prise en charge du débogage
La prise en charge du débogage est activée par défaut lors du lancement d’une application avec
ADL. Avec la prise en charge du débogage, le programme d’exécution effectue des vérifications
supplémentaires et génère des informations de débogage supplémentaires, ce qui inclut les
informations de débogage de Flex Builder et les boîtes de dialogue relatives aux exceptions non
traitées. En outre, votre application peut s’exécuter de façon plus lente lorsque la fonctionnalité de
débogage s’applique. L’utilisation d’adl avec l’indicateur -nodebug désactive la prise en charge du
débogage. L’exécution de l’indicateur -nodebug émule également le mode d’exécution d’une
application installée de façon plus précise.
Dépannage (pour les utilisateurs)
Le contenu PDF ne s’affiche pas
Pour afficher le contenu PDF dans AIR, assurez-vous qu’Adobe Reader 8.1 ou une version plus
récente est installée.
Base de données SQL et fonctionnalité Time Machine de Mac OS 10.5
L’exécution de la fonctionnalité Time Machine de Mac OS 10.5 pendant l’exécution de certaines
bases de données SQL risque de provoquer des incohérences dans cette base de données. La
solution de contournement consiste à s’assurer que la base de données est exclue de la sauvegarde
automatique de Time Machine.
Applications AIR et MobyDock
MobyDock, une application gratuite et personnalisable de la barre des tâches pour Windows,
empêche les applications AIR de s’exécuter. Fermez MobyDock lors de l’installation et l’exécution
des applications AIR.
Firefox non utilisé en tant que navigateur par défaut
Sous Windows Vista, les pages Web ouvertes à partir d’une application AIR (ceci est fait en appelant
la méthode navigateToURL()) peuvent ne pas ouvrir le navigateur par défaut, ces dernières sont
toujours ouvertes dans Internet Explorer. Pour contourner ce problème, sélectionnez Démarrer →
Programmes par défaut → Définir les paramètres par défaut de l’accès aux programmes et de
l’ordinateur, développez Personnaliser, sélectionnez le bouton radio près de l’application que vous
souhaitez définir en tant que navigateur par défaut à l’échelle du système (par exemple, Mozilla
Firefox) et appliquez le paramètre.
Dépannage (pour les développeurs)
Limitations HTTP sous Windows
Sous Windows, il n’existe aucune prise en charge pour la redirection automatique à partir des
méthodes PUT, POST ou DELETE. En outre, AIR ne prend pas en charge la décompression flat ou
gzip des réponses HTTP.
Liens vers les images non chargées correctement
Le fait de cliquer sur un lien qui charge une image (et non pas une page HTML) ne rend pas l’image,
mais affiche les octets de cette image.
Utilisation des propriétés de données pour NativeMenuItem
Pour la propriété NativeMenuItem.data, les objets int ou Number ne sont pas pris en charge dans
cette version.
Notes de parution d’Adobe® AIR™ 1.1
7
Profils URL non pris en charge
Les profils URL non pris en charge échouent de façon silencieuse lorsqu’ils sont appelés à partir de
JavaScript. Par exemple, le fait de cliquer sur un lien <a href=”javascript:alert()”> dans le sandbox de
l’application de sécurité (qui n’est pas prise en charge) ne renvoie pas d’exception, l’échec se fait de
façon silencieuse.
Propriété ContextMenu.visible
La définition de la propriété ContextMenu.visible n’a aucun effet. Les éléments sont toujours
affichés.
Prise en charge de scripts de minorités pour la Chine Norme nationale GB 18030-2000
Les caractères de scripts de minorités, tels que le tibétain, peuvent ne pas s’afficher correctement
dans les applications AIR.
Clavier virtuel dans du contenu SWF chargé par HTML sur Tablet PC
La fonctionnalité de clavier virtuel d’un Tablet PC est compatible avec un fichier AIR SWF et une
application HTML, mais ne fonctionne pas pour un contenu SWF chargé par HTML.
Windows 64 bits : Installation d’applications AIR dans le dossier Program Files sur la
version 64 bits
Si une application AIR est installée dans le dossier « Program Files » de la version 64 bits, une erreur
se produit et indique que l’application ne peut pas être installée. Cependant, l’application est installée
dans le dossier « Program Files(x86) ».
Modèle app: URL avec paramètres d’ouverture de PDF sur le Mac
L’utilisation du modèle app: URL avec les paramètres d’ouverture de PDF (par exemple,
app:/myfiles/test.pdf#page=2) ne termine pas le chargement sur Mac OS.
Liens htmlText sous Vista
Sous Windows Vista, les liens htmlText des éléments Flex <mx:text> s’ouvrent uniquement dans
Internet Explorer, même si Firefox est défini en tant que navigateur par défaut.
Les objets Date de JavaScript transmis au moyen d’un sandbox de passerelle
perdent leur type d’origine
La solution de contournement consiste à sérialiser les données et transmettre les données de
date/heure en tant que millisecondes.
La définition de la largeur ou de la hauteur d’une iframe sur 100 % peut entraîner
des résultats inattendus
La solution de contournement consiste à définir une iframe dont la valeur est inférieure à 100 %.
Les affinités de colonnes DATE et DATETIME sont incompatibles avec les versions
bêta d’AIR
Les affinités de colonnes « DATE » et « DATETIME » dans AIR 1.0 ou plus récent pour les bases de
données SQL ont changé et sont incompatibles avec les versions bêta. Si vous disposez de fichiers
de base de données existants qui incluent l’utilisation de « DATE » ou « DATETIME » sous forme
d’affinité (type de colonne), ces tables doivent être remplies à nouveau pour fonctionner
correctement.
Notes de parution d’Adobe® AIR™ 1.1
8
// la table a été créée avec le code SQL suivant — CREATE TABLE post (id
// INTEGER PRIMARY KEY, post_date DATE, title TEXT, content TEXT,
// author_id INTEGER);
// sélectionnez les données dans la table existante en définissant la
// date en tant qu’entier (ce qui évite toute conversion incorrecte de
// la date au format julien)
sql.text = "select id, cast (post_date as integer) as p_date from
post;";
sql.clearParameters();
sql.execute();
// met la table à jour en fonction des nouvelles valeurs
var result:SQLResult = sql.getResult();
feeds.dataProvider = result.data;
sql.text = "update post set post_date = :d where id = :id;";
for (i=0; i<result.data.length; i++)
{
sql.parameters[":id"] = i;
sql.parameters[":d"] = new Date(result.data[i].p_date);
sql.execute();
}
Le comportement d’affinité de colonne n’est pas compatible avec les versions bêta
d’AIR
Lorsqu’une colonne a un type déclaré (affinité), elle peut bloquer l’insertion d’une ligne. Dans AIR 1.0
ou une version plus récente, les types de colonne sont appliqués. Si la valeur spécifiée pour une
colonne ne peut pas être convertie avec succès vers le type de colonne déclaré (affinité), l’opération
de mise à jour/insertion échoue. Par exemple :
// la table a été créée avec le code SQL suivant - CREATE TABLE x (a INTEGER
PRIMARY KEY, b INTEGER);
sql.text = "INSERT INTO x VALUES (1, 5.5);"
sql.execute(); // dans la mesure où la valeur spécifiée pour la colonne
b (5.5) n’est pas un entier, cette insertion échoue.
// la table a été créée avec le code SQL suivant - CREATE TABLE y (a
// INTEGER PRIMARY KEY, b DATE);
sql.text = "INSERT INTO y (1, ‘‘);"
sql.execute();
// dans la mesure où la valeur spécifiée pour la colonne
// b (‘‘) ne peut pas être convertie en date, cette
// insertion échoue.
La barre de menus ou le Dock ne se masquent pas en mode plein écran pour les
fenêtres superposées dans Mac OS
Lorsqu’une fenêtre se superpose à une fenêtre plein écran, la barre de menus de l’application et le
Dock système ne se masquent pas sous Mac OS. Pour résoudre ce problème, définissez le type de
la fenêtre flottante sur NativeWindow.lightweight.
Notes de parution d’Adobe® AIR™ 1.1
9
NativeWindow.height signalé de façon incorrecte par l’événement resize
La propriété NativeWindow.height est signalée de façon incorrecte lors de la lecture d’un
gestionnaire d’événements resize. La solution de contournement consiste à la remplacer par la
propriété afterBounds.height de l’événement.
Définition idleThreshold
Si vous définissez la propriété idleThreshold de l’objet NativeApplication après l’abonnement à
l’événement userIdle, vous obtenez le paramètre par défaut idleThreshold à la place de la
valeur que vous avez définie. La solution de contournement consiste à annuler l’abonnement au
gestionnaire d’événements, à définir le seuil, puis à s’inscrire à nouveau.
Suivis sur la console
Si votre système dispose d’un fichier mm.cfg contenant le paramètre TraceOutputFileEnable=1,
aucune sortie de suivi n’est envoyé à la console. La solution de contournement consiste à supprimer
ce paramètre du fichier mm.cfg. Le fichier mm.cfg est situé dans « c:\Documents and Settings\<nom
d’utilisateur> » sur Windows et « \Users\<nom d’utilisateur> » sous Mac OS.
Transfert de l’en-tête « Cookie » à URLRequest.requestHeaders
Le transfert de l’en-tête « Cookie » à la propriété requestHeaders d’un objet URLRequest lorsque
manageCookies=true n’est pas envoyé au serveur.
Chemin de certificat complet requis pour la signature du code
Certains fournisseurs de certificat (VeriSign par exemple) ne fournissent pas le chemin complet du
certificat par défaut. Cependant, ceci est requis pour la signature des applications AIR. Pour plus
d’informations sur la création d’un magasin de clés avec une chaîne complète de certificats, voir
http://access1.sun.com/techarticles/Keytool.html.
L’objet point renvoyé à partir de la méthode NativeWindow.globalToScreen() peut
avoir une valeur Y incorrecte sur tout autre écran que l’écran principal
La valeur Y renvoyée par la méthode NativeWindow.globalToScreen() peut ne pas être
précise lorsque le paramètre ne correspond pas à un point qui figure sur l’écran principal dans
certaines configurations impliquant plusieurs écrans.
setAsDefaultApplication() et association d’extension de fichier sous Windows
Sous Windows, lorsque l’utilisateur sélectionne une application d’association pour toute extension
utilisant Explorer, l’application de NativeApplication.setAsDefaultApplication() ne définit
pas l’application AIR comme application par défaut.
removeAsDefaultApplication() et association d’extension de fichier sous Windows
Vista et Mac
Lorsqu’il n’existe pas d’autre gestionnaire pour l’extension de fichier définie sur le système,
l’utilisation de NativeApplication.removeAsDefaultApplication() ne supprime pas
l’association d’extension de fichier avec l’application AIR.
ADT utilisant proxy avec l’authentification
ADT ne fonctionne pas actuellement avec les paramètres proxy qui nécessitent une authentification.
Notes de parution d’Adobe® AIR™ 1.1
10
Enregistrement des événements de l’icône Dock
Sur le Mac, l’application de NativeMenu.addItemAt(item, 0) à l’icône Dock a pour
conséquence que tous les menus situés en dessous perdent leurs gestionnaires d’événements
select. La solution de contournement consiste à utiliser NativeMenu.addItem(). Pour afficher le
dernier élément au début du menu, supprimez l’ancien menu et créez-en un nouveau.
Largeur et hauteur de NativeWindow
Lors de la définition des propriétés width, height ou bounds d’un objet NativeWindow dans une
fonction synchrone, la valeur donnée pour height devient incorrecte si elle est traitée par le
gestionnaire d’un événement resize.
Notes de parution d’Adobe® AIR™ 1.1
11