Help... step-by-step tutorial to get a Flex Mobile app in the Apple App Store using IntelliJ

Hi all,

Maybe I am not very smart, or maybe Apple makes the life of developers utterly miserable, or maybe I am stubborn to try to use IntelliJ instead of that horrible piece of cr*p called Flash Builder.

Whichever of the three it is, I am sure I'm not the only one that gets rather frustrated because of not being able to get a Flex Mobile app through all steps of App Store submission.

I have followed every step in these two guides:

http://www.adobe.com/devnet/flash/articles/app_store_guide.html and
http://devgirl.org/2011/06/20/flexair-for-ios-development-process-explained/

These however are tailored to Flex/Flash Builder, so in some cases one needs to improvise. It would be FANTASTIC if one of you (staff or readers) could provide a step-by-step tutorial to outline precisely what to do for IntelliJ (I am currently trying 11.1).

I am not delivering to my client because I am apparently too stupid to get this to work. Or *whispers* should I go back to Flash Builder and try things from there?

Best, Steven


PS

The problems I have remaining are:

1. Icons. I have included in the application descriptor:

 <icon>
        <image29x29>assets/images/icon-logo-29.png</image29x29>
        <image32x32>assets/images/icon-logo-32.png</image32x32>
        <image48x48>assets/images/icon-logo-48.png</image48x48>

        <image57x57>Icon.png</image57x57>

        <image72x72>Icon-72.png</image72x72>
        <image114x114>assets/images/icon-logo-114.png</image114x114>
        <image128x128>assets/images/icon-logo-128.png</image128x128>
</icon>

Yet Application Loader complains I need to define in Info.plist CFBundleIcons, CFBundleIconFiles, CFBundleIconFile, or provide a default icon.png of 72x72 (it is an iPad app). So, I included Icon.png in the bundle (using the IntelliJ dialog). Error when building:



The file with the path Icon.png cannot be packaged unless the descriptor field application.icon.image57x57 is set to Icon.png

Sigh. It is, isn't it? Should I set those Info.plist keys? If so, how?

2. Failing codesign verification. I apparently do not seem to grasp this whole neurotic Apple developer & distribution certificate mess. By now my Keychain Access is populated by 10 or so certificates, I have a number of .p12 files, .cer files, .mobileprovision files... I am not even going to repeat my steps, because they apparently do not work. According to Application Loader, "the signature is invalid, contains disallowed entitlements, or was not signed with an iPhone Distribution Certificate."
6 comments
Comment actions Permalink

Does anyone have any ideas? Or should I install Flash Builder?

0
Comment actions Permalink

Shame on me, I haven't submitted any AIR mobile application to the Apple AppStore. So I'm afraid I can't provide more detailed information than Apple's and Adobe's help. What I know for sure is that the whole development/packaging/submission procedure is not tied to any IDE. All can be done from command line. Actually all IDE does regarding AIR mobile  packaging is that it allows to fill UI forms instead of composing command line. Both FB and IntelliJ IDEA use adt tool from Flex SDK to package your application.

0
Comment actions Permalink

Just to let you know I finally have it working.
Turns out I forgot a tiny step somewhere during the key generation process.

I recommend to do what I did:

1. Follow EXACTLY what is written here: http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html.

  • Important tip for IntelliJ users: In IntelliJ, make sure you DO NOT use a generated application descriptor, but use a custom one so the stuff you change in it is incorporated. I am going to separately write a post about this issue in IntelliJ; generated descriptor files are uncontrollable.
  • Another tip: at the very end, just submit the generated .app file to Application Loader, there is no need to unpack it and rezip it and all that stuff (written at the end of the webpage mentioned).

2. If you fail, start ALL OVER again; I tried fixing a mistake by not doing that, starting at a seemingly logical step in the middle after fixing an error, but it does not work.
3. Use Mac OS Keychain to generate all the key stuff. I tried the Windows OpenSSL approach, and while it may work, it didn't in my case for some reason (probably my error), and I am sure the Mac one worked. You can use a virtual Mac with VMWare.
4. Ignore ANY Application Builder errors as long as the codesign error appears; I have seen quite many, but they all disappeared once the codesigning worked.

0
Comment actions Permalink

See my solution, and thanks Alexander!

0
Comment actions Permalink

Great!
Indeed, generated app descriptor is only for quick start, any real-size app requires customization.
Blog post would be great, please share a link if you write it.

0
Comment actions Permalink

Hi Alexander,

My suggestions can be found here:
http://devnet.jetbrains.net/thread/436620?tstart=0

Best! Steven

0

Please sign in to leave a comment.