Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

10sept/109

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):

Packager for iPhone

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

Some 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
- NetworkInfo

In 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.

Remplis sous: Adobe Air, iPhone || Taggé comme: , , , Laisser un commentaire

Articles similaires

Commentaires (9) Trackbacks (1)
  1. 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

  2. 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

  3. 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!

  4. 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

  5. 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

  6. 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!

  7. Heu rectification : ça plante quand je commence à taper des lettres dedans!

  8. Effectivement, la création d'un IPA est trèèèèès lente (plusieurs minutes).
    Pour le champ texte, dommage :P

    Fabien

  9. @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


Leave a comment

(required)