Installing/Uninstalling iOS AIR applications on iOS devices using ADT

With AIR 3.4, it would be possible to use ADT to install AIR applications on the iOS devices (i.e iPod, iPhone and iPad) from both desktop operating systems (i.e MAC and Windows). Prior to AIR3.4,  developers have to use iTunes, XCode etc to install the iOS AIR applications and that was a cumbersome process.

This new capability will make the install/uninstall process a lot more seamless. To install/uninstall an iOS AIR application on the device, simply follow the following instructions:

First of all, we need to know the number of devices, along with their device-id’s, which are attached to the machine. This can be done using the following ADT command.

adt -devices -platform ios
List of attached devices:
Handle	DeviceClass	DeviceUUID					DeviceName
   22	iPhone  	24d9b6fd...................a861117a7866510	myiPhone
   23	iPod    	24d9b6fd...................a861117a7866510	myIpod

The handle in the output of the above command is the device-id to be used to install/uninstall application in that particular device.

Once, we have the information about the devices attached to the machine we can use the following command to install the application on the device.

adt -installApp PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? -package 
eg. adt -installApp -platform ios -device  <device-id>  -package /path/to/my.ipa

In case only one device is attached, there is no need to specify -device argument.

adt -installApp -platform ios -package /path/to/my.ipa

Similarly to uninstall the application from the ios device, use the following command line

adt -uninstallApp   PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? -appid 
eg. adt -uninstallApp -platform ios -device <device-id>   -appid com.adobe.myapp

In case only one device is attached, there is no need to specify -device argument.

adt -uninstallApp -platform ios -appid com.adobe.myapp

NOTE:
<app-id> is specified in the application descriptor file (app.xml) within the <id> tag . If you create your project using Flash Builder, by default it would be the same as your app name.

54 Responses to Installing/Uninstalling iOS AIR applications on iOS devices using ADT

  1. suraj says:

    thanks man . . it worked for me now . . . .

  2. Pedro Fernandez says:

    Hi,

    Is it possible to test the application directly on your device without an apple developer account?.

    Before requesting a developer account needed tests done to check the functioning of AIR on devices.

    Thank you!
    Pedro Fernandez

    • rmahajan says:

      It is not possible to test the application on the device without an apple developer account except in case the device that you have is jail-broken.

  3. Thomas Pujolle says:

    Hello there,

    I keep getting the same error:
    [exec] Installation Error: ApplicationVerificationFailed.

    Do you know why that is? :( I’m using an ANT script inside FDT 5.5, all path are good and I can list devices.

    Any help would be much appreciated.

    • rmahajan says:

      This generally happens if the certificate with which the application is signed is not valid or if the provisioning profile with which the application is packaged doesn’t have the entry of the device on which one is installing the application.

  4. Ali Tan Ucer says:

    Hi,

    Thanks for the info.
    The uninstallation process works fine but when i try to install the app, i got a Installation Error: MissingBundleIdentifier. What do you thinks shoud be the reason. I can install the ipa file through itunes just fine.

    Thanks
    Ali Tan Ucer

    • rmahajan says:

      Could you please extract the IPA file and check Info.plist if that has the CFBundleIdentifier tag. Also can you tell me with which AIR SDK you are using to package the application and target i.e ipa-debug, ipa-app-store etc.

    • Nishant Kyal says:

      Include the -app.xml in the bundle. That fixed it for me.

      • rmahajan says:

        App.xml in already present in the IPA in the folder “*.app/META-INF/AIR” . ADT doesn’t allow one to package an IPA without app.xml.
        Could you please tell which app.xml are you talking about and where did you include it?

        • greg says:

          I have the same issuu from time to time, but repacking the ipa (using flex: first clean the project, than build ipa) fixes the problem.

  5. I made the entire process. There was no error.
    But the application was not installed.

    Someone had the same problem?

  6. Philippe Bérubé says:

    Just found that if itunes isn’t running the install process won’t crash but it won’t work. With iTunes open everything worked.

    • rmahajan says:

      Well this is unexpected. We need iTunes to be installed on the system just to make sure that the “Mobile Device Support” library is present.
      Could you please tell us whether you are working on MAC or Windows, iTunes version installed and the AIR-SDK with which the application is being packaged.

  7. Naranja Mecanica says:

    Very nice!

    Just one question: is it possible to make the USB debugging also automatically find the device handle if there is only one device connected? This will simplify some ANT scripts and make listing de devices redundant!

    • rmahajan says:

      As already mentioned in the blog, there is no need to specify -device in case only one device is attached.

  8. Naranja Mecanica says:

    I’m sorry but the “USB debugging”, needs an device id in my setup otherwise I get an error.

    It would be great if the installing and debugging part both will find the first device!

    • rmahajan says:

      You can do this yourself in your script by first getting the devices attached, parsing the command to get the ID and then use port-forwarding with that ID.

  9. Naranja Mecanica says:

    Sure, but it’s an extra step, and there are already so many.. ;-)

  10. Mikale says:

    Hi, thanks for the tutorial. Works great.

    Thought I’d share this for those who are wondering: you can package your application and install it to your device with one command. Simply place the packaging command first, then add a &, and then place the install command. Then you can run one .bat file and it will build your application and install it to the device. Example:

    adt -package -target ipa-test -keystore -storetype pkcs12 -storepass -provisioning-profile test.ipa test-app.xml test.swf & adt -installApp -platform ios -package test.ipa

    Cool, huh?

  11. Patrick says:

    I was able to uninstall my app using this method:
    adt -uninstallApp -platform ios -appid com.testing.testapp

    but I am unable to reinstall with this method:
    adt -installApp -platform ios -package C:/Users/pmullady/workspace/test.ipa

    I tried many different formats for the path to the ipa file and none worked. If I type an invalid path it tells me that the ipa can’t be found but with this path once I hit enter it waits about 2 seconds and just returns a new console line

    Any help would be great! Thanks

  12. Chad says:

    I’m having the same problem. Install command exits to new command line without any feedback.
    Anyone figured out why this happens?

    • rmahajan says:

      Could you please mention if you are seeing the issue on mac or windows and which version of iOS you are using.

  13. alan says:

    Hi and first of all thanks for this great feature!
    I’ve got a problem when I’m trying to install the app and even when I’m trying to get the devices connected to my PC.

    when I use this command :
    adt -devices -platform ios
    I’m getting this error : Failed to find iTunes Libraries.

    and when I’m using this one:
    adt -installApp -platform ios -package /path/to/my.ipa
    I’m getting this error: Unable to enumerate devices

    I guess both errors are linked, but I can’t figured out why and how fix this pb. Ofc my ipad is usb connected and recognize in itunes :)

    my config :
    - Win7
    - AIR 3.4 SDK
    - Itunes 7.0.21
    - Ipad 3

    Thanks!

    • alan says:

      UPDATE:
      I’ve replace the AIR SDK I had, just in case and now I’ve got a new error message :
      when using the first cmd :
      Please Check your Itunes Installation
      the same error message for the second one.

    • krgupta says:

      Hi Alan,

      I could not reproduce the issue with the information provided. I am able to successfully install an ipa on iPad3 with AIR3.4 SDK on Win7.
      Could you please let me know a few things-
      - What is the adt version that you are using? adt -version will provide you the info
      - How did you package the ipa, if using adt command line what target? and if using Flash Builder or Flash Pro then Fast Packaging or Standard or App Store target?
      - Is your machine 64 bit or 32 bit?
      - What ios version do you have on your iPad3 device?

      • alan says:

        Thx for the fast reply,

        - the adt version I’m using is 3.4.0.2540
        - I’m using Flashdevelop to package the ipa and here is the command line
        adt -package -target ipa-test -storetype pkcs12 -keystore “cert\ios_dev.p12″ -s
        torepass fd -provisioning-profile cert\myapp.mobileprovision “dist\myapp-tes
        t.ipa” “application.xml” -C bin . -C “icons/ios” . -extdir ext/ -platformsdk path_to\iPhoneOS5.1.sdk
        And I can manually install this IPA without any kind of pb.

        - My machine is 64 bit
        - iOS 5.1.1

        • krgupta says:

          Hi Alan,

          I tried with the above mentioned packaging command, it is running fine for me.
          Could you please share your sources, app-xml and swf?

          Also let me know your email-id. My email id is krgupta@adobe.com

  14. Max says:

    ADT was installing and uninstalling my app. Sometimes I was getting MissingBundleIdentifier or ApplicationVerificationFailed

    These messages was disappearing just when I was changing app source code or images.

    But right now uninstall work but install fails. And I get no error message. I still can install old IPAs. So my current IPA is not installing and there is no error message.

    • krgupta says:

      Hi Max,

      Could you please share your sources, app-xml and swf?
      Also please provide some information that would help us in reproducing the problem-
      - What is the adt version that you are using? adt -version will provide you the info
      - How did you package the ipa, if using adt command line what target? and if using Flash Builder or Flash Pro then Fast Packaging or Standard or App Store target?
      - What is the iOS version of the device on which you install/uninstall the app?

  15. Donny says:

    Hi Max,

    One gotcha I experienced which may be the issue. I had the exact same problem you describe. Ensure you don’t link your app icons within a folder that you are including within your build.

  16. Donny says:

    I also found that the ipa file should not be named the same as the swf file.

  17. Drew says:

    I couldn’t get installation to work with an interpreter build. Using regular debug or test works, however.

    • rmahajan says:

      Hi Drew,
      Is the issue you mentioned happening with other applications or with one particular application that you are trying to install.

      Could you share the ipa with which the issue is reproducible along with following information
      a) AIR SDK Version
      b) OS
      c) iTunes Version.

      Thanks.

  18. tolis says:

    This is by far the most annoying bug I have ever encountered in my programming life. I use windows XP with flash builder 4.7, AIR 3.4. My project keeps working fine for a lot of days and suddenly in the middle of the day when I change a simple line of code I keep getting the messages MissingBundleIdentifier, or ApplicationVerificationFailed. It has nothing to do with the provision profiles, or the xml as everything is working fine one minute, and the next minute not.

    There is no way I can reproduce it as it happened to me a lot of times, and every single time, I had to go back to test and debug on the air simulator, and after a lot of changes in the code I try to rebuild/debug it on the phone.

    There is absolutely no sense of logic. Its just happening. I cannot get the whole project posted to you because its confidential, and quite big.

  19. tolis says:

    Just for the record my conf is
    Win XP sp3
    FB 4.7
    Air 3.4
    iTunes 10.7.0.21

  20. tolis says:

    After 3 days without solving the issue, the only viable solution I could come up with, was to revoke my certificate completely and rebuild certificate and provisioning profile.

    When I tried to only rebuild my provisioning profile, it didn’t solve the issue. I hope a better solution comes up :(

    • rmahajan says:

      Hi Tolis,
      We are still not able to reproduce the issue. I am not saying to post me the whole project but in case you can create a sample project on which the issue is reproducible, that will be helpful.

      Also have you tried installing from the adt commandline to see if the issue is reproducible not just in FB but also in commandline.

  21. Jano says:

    “Synchronizing” message is displayed on the device but nothing is installed.

    Most of times the message just dissapears but sometimes I have to cancel it after 10-15 minutes.

    W7, air 3.5, iTunes 10.7.0.21

  22. ADT doens’t recognize IOS devices on my windows computer.

    if i try this:
    adt -devices -platform ios

    i get this message:
    Please check your iTunes installation.

    it doesn’t matter if a device is connected or not. i uninstalled itunes and installed it again but still not works. is their any windows service from itunes that have to be enabled?

  23. Yellow says:

    Hi,
    Is there restriction on the Itunes Version?
    I package my IOS app by Flash Builder 4.7, and debugging over USB, after packing, iIPA.exe crashed, so I have to install the app manually.
    My conf is
    Win7 64
    FB 4.7
    Air 3.4
    iTunes 10.7.0.21

  24. rmahajan says:

    This bug is fixed in AIR 3.5. Please use the latest SDK.

  25. nvazquez says:

    We were having the error: ApplicationVerificationFailed because we included some resources with ISO-8859 characters in its name, like áéíóú. Renaming that resources fixed the problem.

    • Pablo says:

      You, my fellow developer, are a life saver, I’ve spent 10 hours trying to fix it. Thanks.

  26. Lauren Campregher says:

    I got the same error:
    [exec] Installation Error: ApplicationVerificationFailed.

    And in my case, the problem was that i had inside my assets folder files with special characters. One image had the name ‘paçoca.png’ and it caused the error mentioned above.

  27. Excellent website. Lots of useful information here. I am sending it to a few pals ans also sharing in delicious. And certainly, thank you for your sweat!