Skip to main content
June 17, 2012
Question

ANE Native extension freezes app when debug=false and using non-interpreted IOS build

  • June 17, 2012
  • 2 replies
  • 1076 views

There’s a problem with Adobe Air iOS that is somewhat known, and that problem has an unknown variant that’s very tricky.

The problem is with linking optimized flash and ANEs. If the linker treats the ANE as an included SWC, calls to the library will hang the app. But it will work in the ADB simulator, and it will work in debug builds and in interpreted builds. It only manifests when a release build is attempted.

The known remedy for this problem is to specify the ANE code as extern to the app, usually via external-library-path argument instead of library-path option.

What I’ve learned is that even with correct linkage specified, our apps show this problem anyway. And the reason is that the calls between the app and the ANE happen in a non-first frame. A simple test case of a preloader on frame #1 and all the content on second frame will “intern” the symbols of the ANE, breaking the application; but only in non debug, non-interpreted builds, like ipa-test and ipa-ad-hoc.

Adobe, please detect and report this condition so others won’t all the problems to deal with that I’ve encountered. Thanks.

This topic has been closed for replies.

2 replies

Known Participant
October 8, 2012

example of use ane .http://lilili87222.github.com/admob-for-flash/.

load admob in air app

Inspiring
October 5, 2012

I seem to be running into freezes with my ANE's and it has been hard to troubleshoot and came across your post.  I am using Flash CS6 so not sure how to apply your remedy.  The options in CS6 for library path ANE's are 'Merged into Code' and 'Runtime Shared Library'.  Currently it is merged, not sure if this is the same issue or not but I am trying everything here...