Copy link to clipboard
Copied
I'm building an ANE for NokiaHere maps for iOS. What they offer in their SDK is NMAKit.framework library which is a dynamic library. I wrote my own xCode project which implements all the stuff needed for ANE, I've built it as a static library (libHereMapsANEiOS.a). I integrated it with ANE project and I've successfully built the required .ane file. So far so good
I've made a test AIR mobile app in Intelli J, I use Flex SDK 4.6, and when I try to build .ipa and run it on the device I get the following error:
I have xCode 8.0 installed.
I suspect this has something to do with the fact that NMAKit.framework is a dynamic framework since I had similar issues when I was developing ANE for MapBox. I was successful to use it in an app when I switched to static .framework library, but unfortunately HereMaps don't have one available on their SDK download pages. I read somewhere that AIR does not support dynamic 3rd party libraries in their adt tool? Is that true, if so, are there any workarounds for this.
Thanks.
Copy link to clipboard
Copied
I had the same issue with other 3rd party framework. Though in my case the sources for the framework were available so I simply rebuilt the framework to use a static linking.
I don't remember trying the following myself as I needed iOS 7 support but did you try setting the min iOS version for the app to 8.0 in your app descriptor? It would force your app to work on iOS 8+ only but maybe that's good enough for you.
<iPhone>
<InfoAdditions>
<![CDATA[
<key>MinimumOSVersion</key>
<string>8.0</string>
]]>
</InfoAdditions>
...
</iPhone>
Copy link to clipboard
Copied
Wow, seems to fix my issue. This is great news, thanks. iOS 8 is more than enough for my case.
I wish there was little more documentation about this kind of stuff from Adobe, their latest adt/mobile app packaging documentation is from 2011.
Thanks again.
Copy link to clipboard
Copied
The additional issue I got now is when I start the app it crashes instantly with following message:
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Description: DYLD, Library not loaded: @rpath/NMAKit.framework/NMAKit | Referenced from: /var/containers/Bundle/Application/A61D97D6-C35B-4D0F-87B8-884C05558BF6/HellWorld.app/HellWorld | Reason: image not found
Triggered by Thread: 0
Any idea why this happens? I tried most of the scenarios regarding this issue you can find on SO without any luck.
Copy link to clipboard
Copied
Could you show me your platform.xml for the iOS library of the ANE?
Copy link to clipboard
Copied
I have the same issue with air30
Termination Description: DYLD, Library not loaded: @rpath/TwitterCore.framework/TwitterCore | Referenced from: /var/containers/Bundle/Application/85C61A67-FFA0-4393-94D8-4BF9E9570403/cnlz.app/cnlz | Reason: image not found
Triggered by Thread: 0
Have you solved it now?
Copy link to clipboard
Copied
<platform xmlns="http://ns.adobe.com/air/extension/23.0">
<sdkVersion>8.1</sdkVersion>
<linkerOptions>
<option>-ios_version_min 8.1</option>
<option>-w</option>
<option>-rpath @executable_path/Frameworks</option>
<option>-framework NMAKit</option>
</linkerOptions>
<packagedDependencies>
<packagedDependency>ios/Frameworks/NMAKit.framework</packagedDependency>
</packagedDependencies>
</platform>
With this configuration I managed to get the NMAKit to appear in Frameworks folder of .ipa file, but unfortunately the NMAKit.framework is unsigned so I must sign it manually every time which is really slow for development. It seems that .adt doesn't do codesign when building the .ipa the same as xCode does.
This is really frustrating, how come there is no way to see what adt does in the background when building ipa, which command it calls etc?
Copy link to clipboard
Copied
Did you try it without the linker option <option>-framework NMAKit</option> ?
If that does not work, try to remove the packagedDependency element, link it using -weak_framework and put the NMAKit.framework to AIR_SDK/lib/aot/stub directory.
<platform xmlns="http://ns.adobe.com/air/extension/23.0">
<sdkVersion>8.1</sdkVersion>
<linkerOptions>
<option>-ios_version_min 8.1</option>
<option>-w</option>
<option>-rpath @executable_path/Frameworks</option>
<option>-weak_framework NMAKit</option>
</linkerOptions>
</platform>
Copy link to clipboard
Copied
No this doesn't work, I still get verification error:
This is probably because the ipa signing fails when dynamic libraries are involved. Why weak linking should have fixed this I don't know.
One concrete question though: Do Air Native Extensions support packaging of 3rd party iOS dynamic libraries? No one seems to give clear answer on this. According to documentation it does not: (this link: Adobe Flash Platform * Building the native library Relevant part:
But then again it could be outdated.
Copy link to clipboard
Copied
That's unfortunate. I'm not really sure about the support of dynamic frameworks in AIR.
Check the Xcode device log (Xcode > Window > Devices or CMD + Shift + 2) - select the connected device on the left and expand the log window at the bottom. There should be further explanation why the application verification failed, maybe that will provide some useful information.
Copy link to clipboard
Copied
with thje latest air sdk 29 there is still problem when signing thirdy pary dynamnic frameworks. we get "Bundle idetifier not specified" error during packaging ipa with Frameworks/NMAKit.framework provided by here maps. With Xcode project ipa packaged with no problem. Guess still adobe adt ipa packaging code signing has some issues.
We have successfully create android ane using here premium android sdk but stuck on ipa packaging.
Did you found any solution ?
Copy link to clipboard
Copied
we have tested with Mapbox.framework but get applicatioVerificationError too on mac console there is additional helpful info
Failed to verify code signature ................Mapbox.framework .. (No code signature found)
iPhone-all installd(Security)[45] <Notice>: MacOS error: -67062
iPhone-all installd(MobileSystemServices)[45] <Notice>: 0x16f78f000
+[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 147:
Failed to verify code signature of /private/var/installd/Library/Cach.........Frameworks/Mapbox.framework : 0xe800801c
(No code signature found.)
Also we did another test => codesign mapbox.framework
codesign --force --sign ******** --preserve-metadata=identifier,entitlements Mapbox.framework
but getting another error.
Apr 18 06:05:25 iPhone-all installd(libmis.dylib)[45] <Error>: unrecognized status -67023 from codesigning library
<Notice>: 0x16f703000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 147: Failed
to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.O6s/Mapbox.framework :
0xe008001 (An unknown error has occurred.)
Copy link to clipboard
Copied
this codesign problem still exists on lates air sdk 29.122 win
i don't understand what adobe trying to do.
Looks like they are only interested in photoshop,illustrator and other design products or there are many insiders from opponent companies trying to ruin what left from macromedias development department.
Official adobe forum is abandoned,it took ages to get any reply from stuff.
All support stuff hired from lazy countries hanging out in office doing nothing.
There are left only few developers outside adobe who are trying to do something but without official support adobe air will get vanished like flash.
It is still best tool than xamarin,reactjs etc but with such terrible support air gets more unreliable each day.
Copy link to clipboard
Copied
Hi,
The issue has been addressed with our latest beta release. You may download the beta from Download Adobe AIR 30 Beta - Adobe Labs.
Thanks!
Copy link to clipboard
Copied
it says Android packaging would remain unaffected.
we need this fix for android too.
also know issues says none ?
you should make some test before writing release notes.
On Thu, May 24, 2018 at 7:36 PM, Amrita Gangwani <forums_noreply@adobe.com>
Copy link to clipboard
Copied
An error occurred while installing IPA
Jul 10 18:42:29 minide-iPad mobile_installation_proxy(MobileSystemServices)[10220] <Notice>: 0x16eea7000 handle_install: Installation failed: Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.vKCmLK/extracted/Payload/cnlz.app/Frameworks/TwitterKit.framework : 0xe8008001 (An unknown error has occurred.)" UserInfo={LibMISErrorNumber=-402620415, LegacyErrorString=ApplicationVerificationFailed, SourceFileLine=147, FunctionName=+[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:], NSLocalizedDescription=Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.vKCmLK/extracted/Payload/cnlz.app/Frameworks/TwitterKit.framework : 0xe8008001 (An unknown error has occurred.)}
Is it a known issues in air30?