Adobe AIR and iOS Certificate Woes

On March 30, 2012 by admin

I’ve recently gotten into Adobe Air on mobile devices (seeing as I had to write an iPad app for work, and our main UI is all built in Flex, this was a perfect framework for me.) Getting ready to go on vacation, I ran into a very frustrating problem when I tried to load the application onto my device for testing. “APP_NAME could not be installed.”

Adobe Air works on mobile devices by cross-compiling the flash into iOS native code. During the cross-compile, the application is signed for deployment via the Apple App Store (or Ad-Hoc distribution.) This signature process through me off my game, as there are a combination of certificates, provisioning profiles, and other madness.

I was finally able to get my application to run and install correctly when I did the following:

1) Found the “Distribution” certificate. This is generated on the Apple website using the Certificate Request mechanism
2) Generated a Ad Hoc Distribution certificate for my application. This should be tied to the Distribution certificate
3) Set the application id in the application config to the name of the Apple application id (without the “company prefix”)
4) Signed the application using adt, the certificate, the mobile provision, and the appropriate application config.

The part that caught me up was the application ID didn’t match the one in the configuration file, and so my application wouldn’t install. This was particularly frustrating as the adt still signed the .ipa file, it just wouldn’t load on my iPad.

Long story short, if you get this error, make absolutely sure you are signing it with the right id.

Btw, I have a simple project template with ant that will do all this for those that are interested. Let me know if you want me to post it.

- Posted from my iPad

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>