ANE Native extension freezes app when debug=false and using non-interpreted IOS build
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.
