0

我构建了一个带有简单本机扩展的 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 中使用相同的代码、本机扩展和配置文件。

我很高兴有一些指针可以开始解决这个问题。

4

1 回答 1

0

结果发现应用程序描述符中的应用程序标识符不匹配。我无法理解它是如何通过 Flash Builder 工作的,但在使用命令行时却没有。

我仍然收到上面列出的相同警告,但它们不影响应用程序安装。

对于那些刚接触 iOS 开发的人,尤其是那些不使用 Apple 工具链的人,开始使用 Xcode 中的 Organizer 功能,而不是通过 iTunes 安装应用程序二进制文件。它提供了更详细和更合理的错误消息,以及其他一些功能,例如日志和实时控制台。如果不是因为这个,我永远不会发现问题。

于 2013-06-06T14:22:50.927 回答