2013-06-04 125 views
0

我已經構建了一個具有簡單本機擴展的AIR應用程序,該應用程序公開API以控制設備的音量。我目前的目標平臺是iPad的iOS。該項目基於Nathan Weber的http://www.adobe.com/devnet/air/articles/building-ane-ios-android-pt1.html教程。無法從命令行編譯AIR應用程序

雖然二進制編譯通過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中使用相同的代碼,本機擴展和配置文件。

我很高興能有一些指針開始解決這個問題。

回答

0

原來,在應用程序描述符中與應用程序標識符不匹配。我不明白它是如何通過Flash Builder工作的,但在使用命令行時沒有。

我仍然得到上面列出的相同警告,但它們不影響應用程序安裝。

對於那些新開發的iOS開發人員,尤其是那些不使用Apple工具鏈的人,請開始使用Xcode中的Organizer功能,而不是通過iTunes安裝應用程序二進制文件。它提供了更詳細和明智的錯誤消息,以及其他一些功能,如日誌和實時控制檯。如果不是這樣的話,我從來沒有發現過這個問題。