我构建了一个带有简单本机扩展的 AIR 应用程序,它公开 API 来控制设备的音量。我目前的目标平台是适用于 iPad 的 iOS。该项目基于Nathan Weber在http://www.adobe.com/devnet/air/articles/building-ane-ios-android-pt1.html上的教程。
虽然二进制文件可以通过 Flash Builder 界面正确编译,但我根本无法从命令行运行它。这对我们来说是必不可少的,以便与我们的自动化构建过程集成。我尽一切努力找到 Flash Builder 内部触发的确切 Java 进程命令行以执行编译过程,然后通过终端窗口手动运行完全相同的命令。命令和结果粘贴在下面。
bin-debug pranav.negandhi$ /usr/bin/java -Xms32m -Xmx1024m -jar '/Applications/Adobe Flash Builder 4.6/sdks/4.6.0 copy/lib/adt.jar' -package -target ipa-ad-hoc -provisioning-profile '/Users/pranav.negandhi/Documents/Adobe Flash Builder 4.6/ne-client/certs/clientdev.mobileprovision' -storetype pkcs12 -keystore '/Users/pranav.negandhi/Documents/Adobe Flash Builder 4.6/ne-client/certs/danapaniCertificate2013.p12' -storepass danapani2013 Main.ipa Main-app.xml Main.swf splash.jpg -extdir '/Users/pranav.negandhi/Documents/Adobe Flash Builder 4.6/.metadata/.plugins/com.adobe.flexbuilder.project.ui/ANEFiles/ne-client/com.adobe.flexide.multiplatform.ios.platform' -platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in _llvm_unwind from AOTBuildOutput-0.o. To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie
ld: warning: multiple L$start$ labels found at same address in __ZN9NetStream12DispatchProcEP10NativeInfo at offset 0x06C0
忽略警告不起作用,因为生成的 IPA 永远不会安装到 iPad 上。当我通过 iTunes 同步设备时,iPad 上的安装失败并显示简短的“主调试安装失败”消息。
Flash Builder 中使用相同的代码、本机扩展和配置文件。
我很高兴有一些指针可以开始解决这个问题。