AIR pour iPhone – Packager For iPhone pas encore compatible avec Air 2.5, soyons patients…
Ayant produit pas mal d'application Air pour Android, j'ai voulu tester le résultat sur iPhone grâce au Packager For iPhone (PFI):
Ce packager se présente sous la forme d'un jar que vous pouvez utiliser (avec une JVM 32bits uniquement). Pour son utilisation, le mieux est de vous réferrer à la documentation officielle:
Review the Packager for iPhone developer guide
Ou la documentation en ligne:
Création d’un fichier d’installation d’une application iPhone depuis la ligne de commande
Tout est bien expliqué, notamment tous les fichiers dont vous aurez besoin. Certains doivent provenir d'Apple mais vous pouvez en télécharger un sur le net si vous voulez tester sur un iPhone jailbreaké, cela fonctionne.
Le packager pour iPhone fonctionne un peu comme "adt" (le "packager" pour Android), on lui file un SWF, un certificat P12, un descripteur XML (et 2 ou 3 autres arguments) et cela fonctionne.
Sauf qu'en essayant sur mon projet fait avec le dernier SDK Android, le packager me jette car j'ai un namespace inconnu:
<application xmlns="http://ns.adobe.com/air/application/2.5">
En fait, le problème est qu'Adobe a stoppé le développement du PFI avant même la sortie d'Air 2.5, il n'est donc pas prévu. Les namespaces gérés s'arrêtent à la 2.0beta je crois. Donc jusqu'à ce qu'Adobe nous remette le Packager For iPhone au goût du jour, on ne peut pas l'utiliser directement.
En attendant, vous pouvez faire des applications utilisant uniquement des API Flash Player et Air 2.0. Soyons donc patient, j'espère qu'il y aura quelque chose de sympa pour Adobe MAX 2010
.
Les nouvelles API Air 2.5
Voici un petit listing des changements apportés par Air 2.5 que vous ne pouvez pas encore utiliser pour un déploiement iPhone:
Specifically, the following APIs were added for 2.5 that were not in 2.0.1 (list generated by Joe Ward):
- CameraUI
- CameraRoll.browseForImage()
- MediaPromise
- StageWebViewSome additional functionality that PFI doesn’t support:
- sms:, tel:, and market: URI schemes in navigateToURL().
- Responding to a custom URI scheme.
- Dispatching keyboard events for soft keys.APIs that have changed:
- Orientation APIs.
Runtime classes that work in 2.5, but were excluded in PFI:
- Camera
- Microphone
- NetworkInfoIn other words, although you can use the 2.5 SDK to build iOS applications, you can’t use all the new stuff in 2.5. Of course, this is all just temporary. We will eventually have all the APIs as consistent as humanly possibly across Android, iOS, desktop, browser, etc., as soon as we can.
Articles similaires
- Adobe confirme la reprise de dév du Packager for iPhone
- AIR pour iPhone – Nouvelle version du Packager pour iPhone (PFI)
- Comparaison AIR pour Android, iOS Packager et AIR for TV (Novembre 2010)
- Adobe vs Apple – Adobe abandonne les plateformes Apple pour de bon
- AIR pour iPhone, iPad – Optimisation des performances






15 septembre 2010
Y'a un truc que je comprend pas bien, si tu peux m'éclairer, de quoi est issu un SWF destiné à devenir IPA ?
J'ai essayé Flex Builder 3 en "FLEX Project" (sdk flex 3.4) j'arrive à faire un *.IPA qui marche à peu près (sauf les TextInput qui plante sur iphone…donc ça pas à l'air d'être une méthode convenable)
Flash Builder 4 en "AIR Projet 2.0", le IPA compile mais fige sur l'Iphone au lancement… Donc pas bon non plus
Donc faut-il vraiment passer par un projet Flash CS5 pour pondre un IPA fonctionnel ??
Merci d'avance
15 septembre 2010
Salut Ida,
Pour l'instant, j'ai réussi à faire un IPA à partir de Flash CS5. Comme un des employés Adobe l'a précisé (je ne sais plus où), le packager était encore en cours d'intégration. Donc il n'y a rien de vraiment prévu pour pouvoir fonctionner avec FB.
Mais au pire, tu peux prendre le fichier SWF que tu obtiens et le passer au packager en ligne de commande (pfi.jar). Perso, je n'ai pas réussi à le faire fonctionner correctement (il me manquait sûrement des arguments) donc je me suis rabattu sur Flash CS5 pour vérifier le fonctionnement.
Si tu as utilisé Air, vérifie que le tag principal de ton application est bien Application et pas WindowedApplication. Cela ne fonctionne aussi que pour des versions d'Air <= 2.0
Pour l'instant, c'est un peu flou, il faut attendre un peu qu'Adobe diffuse une nouvelle version du packager qui soit à jour.
Fabien
15 septembre 2010
Merci de ta réponse rapide Fabien!
En effet m'a balise AIR n'était pas Application! Je reteste dès ce soir sur FB4 et vous tient au courant!
Pour ce qui est de compiler un SWF issu de FB3 cela marche en passant par la moulinette PFI.jar (après une longue lutte pour passer tous les arguments…), mais l'application IPA finale marche à moitié (plusieurs composants de base marchent à la perfection comme les comboBox,Images etc mais un simple TextInput fait planter l'appli dans mon cas!).
A très vite!
15 septembre 2010
ah tu as réussi à faire fonctionner cette ligne de commande pour pfi.jar, cela m'intéresse !
je te contacterai sûrement par mail pour en savoir plus
Fabien
15 septembre 2010
Oui! En passant passant par le pfi.bat (qui lance lui même pfi.jar)!
Par contre la conversion swf -> ipa est vraiment très lente ! (5 à 10min) pour un pauvre petit swf
15 septembre 2010
Re! après test : Passer de WindowedApplication à Application fonctionne!
Par contre les TextInput ou TextField natifs Flash font toujours planter mon IPA à l'éxecution quand je donne le focus dessus! Dommage!
15 septembre 2010
Heu rectification : ça plante quand je commence à taper des lettres dedans!
15 septembre 2010
Effectivement, la création d'un IPA est trèèèèès lente (plusieurs minutes).
Pour le champ texte, dommage
Fabien
24 septembre 2010
@Ida
tu utilise bien les composants mx et non spark.
je commence a avoir des bons résultats avec pfi.
j'ai essayer l'insertion des maps et la géolocalisation.
géolocalisation – ok
google maps api – ko
si je passe par ma librairie UMap de afcomponents – ok