Hi,

I’m currently working on Flexmojos and the Mavenizer to finally build valid iOS 
packages.

Flexmojos was producing IPA files for quite some time now, but the files 
weren’t runnable. When comparing the not working versions Flexmojos produces 
with the working ones IntelliJ produces, I noticed that the Flexmojos one has a 
file “Payload/{ApplicationName}.app/{ApplicationName}” which is empty, while 
the one produced by IntelliJ isn’t.

So, I IntelliJ to run in debug mode so I could inspect the full command 
IntelliJ executes and couldn’t find a difference to mine. Still the output is 
different.

I then noticed the sizes of the swf file which is embedded in the IPA file was 
greatly different. It however always matched the size of the one built by the 
compiler. So, when IntelliJ built the SWF, this is a lot smaller than if I 
build this with Flexmojos.

I can package the SWF built by Flexmojos as an Android application, but not as 
iOS.

Now I dumped the content of both swfs with swfdum and compared the output. I 
noticed these differences:

-          A huge amount of the dump deals with font glyfs the Flexmojos 
version contains a lot more of the font “glyph” elements

-          The SWF built by Flexmojos contains one “DoABC” entry for every 
referenced class (I think) however the one built by IntelliJ contains only two 
(with the names “frame1” and “frame2”

-          Image resources seem to be encoded differently in the 
“DefineBitsLossless2” elements.

So, is the difference that eventually the SWF created by IntelliJ doesn’t embed 
any referenced classes … sort of like having all dependencies “external”?

Chris


Reply via email to