天天看點

Flash AIR14導出ipa到Mac上的iOS模拟器測試

沒錯!你沒看錯!俺這篇部落格就是關于Flash AIR的!

----------------無聊的分割線------------------

朋友最近學習Flash AIR for iOS開發,想找我幫忙,讓我測測螢幕适配的情況,可是悲劇的是我隻有一個iPhone4,沒有最新的iPhone5(很屌絲=。=),除了找個真機測試之外,剩下的辦法隻有試試把ipa導入到Mac的iOS模拟器上測試。我們知道Mac的iOS模拟器上跑的App實際上都是Intel的,而不是真實裝置上的Arm,是以想讓Flash AIR導出的ipa在iOS模拟器上運作,唯一的辦法隻有想辦法讓Flash導出模拟器可以用的ipa。

于是百度之(最近谷歌被各種屏蔽,身在天朝真悲劇:(),找到天地會上這個,雖然已經是老的版本,但是已經提供了基本思路,即用ADT自己打包AIR的ipa。

剩下的是,上手之!目錄配好,腳本寫好,走你!

報錯了。。。

./adt -package \
-target ipa-test-interpreter-simulator \
-provisioning-profile touqiu.mobileprovision \
-keystore dev.p12 \
-storetype PKCS12 \
-storepass 123456 \
touqiu.ipa \
$PROJ_PATH/TouQiu-app.xml \
$PROJ_PATH/TouQiu.swf      

錯誤是

302 Root content file “TouQiu.swf” missing from package      

暈!趕緊查文檔,發現原來xml配置檔案後的其他檔案如果不在目前目錄,需要如下寫:“-C 目錄 檔案名(或檔案夾名)”

于是改之,運作之

./adt -package \
-target ipa-test-interpreter-simulator \
-provisioning-profile touqiu.mobileprovision \
-keystore dev.p12 \
-storetype PKCS12 \
-storepass 123456 \
touqiu.ipa \
$PROJ_PATH/TouQiu-app.xml \
-C $PROJ_PATH TouQiu.swf \
-C $PROJ_PATH icons \
-C $PROJ_PATH Default.png \
-C $PROJ_PATH [email protected] \
-C $PROJ_PATH [email protected]      

可是還是報錯,說沒有-platformsdk,繼續查文檔,文檔說到“Additionally, when using ADT with the iOS Simulator, you must always include the -platformsdk option, specifying the path to the iOS Simulator SDK.”,好吧,那就加上。如下又是修改後的代碼,結果,還是報錯。

./adt -package \
-target ipa-test-interpreter-simulator \
-provisioning-profile touqiu.mobileprovision \
-keystore dev.p12 \
-storetype PKCS12 \
-storepass 123456 \
-platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk \
touqiu.ipa \
$PROJ_PATH/TouQiu-app.xml \
-C $PROJ_PATH TouQiu.swf \
-C $PROJ_PATH icons \
-C $PROJ_PATH Default.png \
-C $PROJ_PATH [email protected] \
-C $PROJ_PATH [email protected]      

說“touqiu.ipa not found!”。我去,這是啥問題。想了想,加入-platformsdk這個參數後才報錯的,那肯定和這個參數有關?難道說這個參數影響了它後面的參數touqiu.ipa?那我把這個參數換個位置,如下:

./adt -package \
-target ipa-test-interpreter-simulator \
-provisioning-profile touqiu.mobileprovision \
-keystore dev.p12 \
-storetype PKCS12 \
-storepass 123456 \
touqiu.ipa \
-platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk \
$PROJ_PATH/TouQiu-app.xml \
-C $PROJ_PATH TouQiu.swf \
-C $PROJ_PATH icons \
-C $PROJ_PATH Default.png \
-C $PROJ_PATH [email protected] \
-C $PROJ_PATH [email protected]      

還是不行。。。繼續查文檔,好吧,原來這些參數的位置是有規則的:

Create a native package that includes a native extension from the component application files:

adt -package 
    AIR_SIGNING_OPTIONS 
    -migrate MIGRATION_SIGNING_OPTIONS 
    -target packageType 
    DEBUGGER_CONNECTION_OPTIONS 
    -airDownloadURL URL 
    NATIVE_SIGNING_OPTIONS 
    output 
    app_descriptor 
    -platformsdk path 
    FILE_OPTIONS       

這個-platformsdk參數必須在output(也就是我們的touqiu.ipa)和app_descriptor(我們的touqiu-app.xml)的後面,和其他附加檔案之前。好吧。

1 ./adt -package \
 2 -target ipa-test-interpreter-simulator \
 3 -provisioning-profile touqiu.mobileprovision \
 4 -keystore dev.p12 \
 5 -storetype PKCS12 \
 6 -storepass 123456 \
 7 touqiu.ipa \
 8 $PROJ_PATH/TouQiu-app.xml \
 9 -platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk \
10 -C $PROJ_PATH TouQiu.swf \
11 -C $PROJ_PATH icons \
12 -C $PROJ_PATH Default.png \
13 -C $PROJ_PATH [email protected] \
14 -C $PROJ_PATH [email protected]      

最終,終于成功運作了,以上就是正常的代碼。哇卡卡。

接着,寫拷貝到模拟器的指令:

1 ./adt -installApp \
2 -platform ios \
3 -platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk \
4 -device ios-simulator \
5 -package touqiu.ipa       

運作的腳本:

1 ./adt -launchApp \
2 -platform ios \
3 -platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk \
4 -device ios-simulator \
5 -appid com.xxx.touqiu       

大功告成!

還有一個小細節,用7.0的sdk做出來的ipa,模拟器7.0裝置以下是看不到的,反正用腳本運作這個app,就沒有問題。

OK,就到這裡了。flash ADT文檔的位址:http://help.adobe.com/en_US/air/build/WS901d38e593cd1bac1e63e3d128fc240122-8000.html

轉載于:https://www.cnblogs.com/flyFreeZn/p/3784963.html