Question

My application needs to load external swfs with ABC. I checked that this feature is available in AIR 3.7 and later. I managed to get the new SDK - 3.8 with the latest version of FD (4.4.3).

Now I am following this link: http://blogs.adobe.com/airodynamics/2013/03/08/external-hosting-of-secondary-swfs-for-air-apps-on-ios/

According to this post, "During IPA packaging, ADT extracts the ABC code from all child SWFs, adds it to the final executable and generates stripped SWFs in the “externalStrippedSwfs” folder created in the current working directory. The directory structure within the “externalStrippedSwfs” folder remains the same as specified within the text file. The generated stripped SWF’s should then be externally hosted on a web server of developer’s choice."

However, firstly, I could not find any such folder called "externalStrippedSwfs".

Secondly, even if this works, this means that everytime I have a new external swf to load, I will have to get it stripped off the code, put it in the main swf, and then upload the stripped swf (with assets). So everytime I do this, I need to "reupload" my app to Apple.

Are these assumptions right? My app architecture will need to be modified accordingly.

Was it helpful?

Solution

Yes, your assumptions are correct: You can't load an external .swf containing AS3 and have the app execute the byte code.

If we ignore the fact that it would most likely not be approved by Apple it can't technically work. The reason is because the Adobe AIR app doesn't contain a virtual machine capable of interpreting the byte code in the .swf:

When you build your application for iOS, there is no interpreted code and no runtime in your final binary. Your application is truly a native iOS app.

Source: http://www.adobe.com/devnet/logged_in/abansod_iphone.html.

OTHER TIPS

You can do it! :) You just need to upgrade to AIR SDK3.8+ and follow the painful process. The only limitation is that each external swif that you will be loading at run time, must be stripped by your ADT. But you are right: you will need to update your app everytime your external content needs to be updated.

"externalStrippedSwfs" is arbitrary (name it as you wish I believe), you have to create that folder in your bin and run the command line from there.

Looks like Apple is not ready to lose the leash yet...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top