Copy link to clipboard
Copied
Just tried the latest AIR 27 beta on my app where I have been doing an external resign because of dynamic frameworks use, but now I just get this from AIR 27:
Anyone else able to build an app with ANEs using dynamic frameworks?
Maybe someone at Adobe can suggest (knowing the line of code that is throwing a null) what might be the cause)
(And no, I'm not going to be able to provide a complete sample project that duplicates this error, as I'm using too much proprietary, unreleased ANE code and dynamic framework elements)
Hoping someone can at least work backward from this point of failure.
Failed build results in:
unexpected failure: null
java.lang.NullPointerException
at com.adobe.air.ipa.IPAOutputStream.finalizeFrameworkSig(IPAOutputStream.java:1310)
at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:94)
at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:291)
at com.adobe.air.ADT.parseArgsAndGo(ADT.java:673)
at com.adobe.air.ADT.run(ADT.java:471)
at com.adobe.air.ADT.main(ADT.java:521)
1 Correct answer
Hi,
As of now external frameworks get signed only if they are kept inside "<IPA_Root_Folder>/Frameworks" folder. Any other paths for signing will be ignored. You can get more info regarding issue here https://tracker.adobe.com/#/view/AIR-4198407
You can also find sample working external_Framework signing project for more information.
-Sourabh Gupta
Copy link to clipboard
Copied
I am not able to get this working. Is there a certain structure that should be followed, or adt settings specifically for Frameworks (and any Frameworks within these)
1 placing .frameworks in a Folder to be packaged as Frameworks
Result: ADT fails with error
unexpected failure :null java.lang.NullPointerException at com.adobe.air.ipa.IPAOutputStream.finalizeFrameworkSig (IPAOutputStream.java :1310) at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:94) at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:291) at com.adobe.air.ADT.parseArgsAndGo(ADT.java:673) at com.adobe.air.ADT.run(ADT.java:471) at com.adobe.air.ADT.main(ADT.java:521) ADT command line:/Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java -Dapplication.home=/Users/User/sdks/AIR/AIRSDK_27_B -Dfile.encoding=UTF-8 -Djava.awt.headless=true
-Duser.language=en
-Duser.region=en
-Xmx512m -jar/Users/User/sdks/AIR/AIRSDK_27_B
/lib/adt.jar-package -target ipa-debug-interpreter - listen 7936 -storetype PKCS12 -keystore kkkkkkkk -storepass xxxxxxx -provisioning-profile /Users/User/Documents/appleCertsProv/2017/dev/Tua_Rua_Dev_Provisioning.mobileprovision /Users/User/flash/Swift-IOS-ANE/example/bin-release/device/example_Device3.ipa/Users/User/flash/Swift-IOS-ANE/example/bin -release /device/Main-app.xml -extdir /Users/User/flash/Swift-IOS-ANE/native_extension/ane -C /Users/User/flash/Swift-IOS-ANE/example/bin-release/device Main.swf -C /Users/User/flash/Swift-IOS-ANE/example/swift .
2. Adding each .framework individually in IntelliJ to be packaged under root of IPA
Result: IPA builds. When run device - Frameworks are not signed at all
Termination Description : DYLD, Library not loaded: @rpath /FreSwift.framework/FreSwift | Referenced from: /var/containers/Bundle/Application/1C734FE1-7948-4887-A8C7-DB2FB5D8959E/Main_Swift.app/Main_Swift | Reason: no suitable image found. Did find: | /private/var/containers/Bundle/Application/1C734FE1-7948-4887-A8C7-DB2FB5D8959E/Main_Swift.app/FreSwift.framework/FreSwift: required code signature missing for '/private/var/containers/Bundle/Application/1C734FE1-7948-4887-A8C7-DB2FB5D8959E/Main_Swift.app/FreSwift.framework/FreSwift' |
3.Adding each presigned .framework individually in IntelliJ to be packaged under root of IPA. Presigned using codesign from bash or in Xcode
Result: IPA builds. When run device Framework binary seems ok, but Swift dylibs are giving code signature missing
Termination Description: DYLD, Library not loaded: @rpath/libswiftCore.dylib |
Referenced from: /private/var/containers/Bundle/Application/300523EA-B42F-432E-91A6-A09016AC404D/Main_Swift.app/FreSwift.framework/FreSwift | Reason: no suitable image found. Did find: | /private/var/containers/Bundle/Application/300523EA-B42F-432E-91A6-A09016AC404D/Main_Swift.app/FreSwift.framework/Frameworks/libswiftCore.dylib: code signature invalid for '/private/var/containers/Bundle/Application/300523EA-B42F-432E-91A6-A09016AC404D/Main_Swift.app/FreSwift.framework/Frameworks/libswiftCore.dylib' | Triggered by Thread : 0
4. Simulator - gives folowing error no matter what. Simulator is OK in 26. Frameworks don't need to be signed
unexpected failure :null java.lang.NullPointerException at com.adobe.air.ipa.IPAOutputStream.createNewEntitlementPlist(IPAOutputStream.java:1618) at com.adobe.air.ipa.IPAOutputStream.finalizeFrameworkSig(IPAOutputStream.java:1307) at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:104) at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:291) at com.adobe.air.ADT.parseArgsAndGo(ADT.java:673) at com.adobe.air.ADT.run(ADT.java:471) at com.adobe.air.ADT.main(ADT.java:521)
I'm not sure exactly what is fixed or if there is an expected way to do this.
Please advise. Many thanks
I am using this to test - all code and IntelliJ project included
https://github.com/tuarua/Swift-IOS-ANE/tree/AIR_27
Copy link to clipboard
Copied
Hi,
As of now external frameworks get signed only if they are kept inside "<IPA_Root_Folder>/Frameworks" folder. Any other paths for signing will be ignored. You can get more info regarding issue here https://tracker.adobe.com/#/view/AIR-4198407
You can also find sample working external_Framework signing project for more information.
-Sourabh Gupta
