没错!你没看错!俺这篇博客就是关于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 \
touqiu.ipa \
$PROJ_PATH/TouQiu-app.xml \
$PROJ_PATH/TouQiu.swf

错误是

 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 \
touqiu.ipa \
$PROJ_PATH/TouQiu-app.xml \
-C $PROJ_PATH TouQiu.swf \
-C $PROJ_PATH icons \
-C $PROJ_PATH Default.png \
-C $PROJ_PATH Default@2x.png \
-C $PROJ_PATH Default-568h@2x.png

可是还是报错,说没有-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 \
-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 Default@2x.png \
-C $PROJ_PATH Default-568h@2x.png

说“touqiu.ipa not found!”。我去,这是啥问题。想了想,加入-platformsdk这个参数后才报错的,那肯定和这个参数有关?难道说这个参数影响了它后面的参数touqiu.ipa?那我把这个参数换个位置,如下:

./adt -package \
-target ipa-test-interpreter-simulator \
-provisioning-profile touqiu.mobileprovision \
-keystore dev.p12 \
-storetype PKCS12 \
-storepass \
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 Default@2x.png \
-C $PROJ_PATH Default-568h@2x.png

还是不行。。。继续查文档,好吧,原来这些参数的位置是有规则的:

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)的后面,和其他附加文件之前。好吧。

 ./adt -package \
-target ipa-test-interpreter-simulator \
-provisioning-profile touqiu.mobileprovision \
-keystore dev.p12 \
-storetype PKCS12 \
-storepass \
touqiu.ipa \
$PROJ_PATH/TouQiu-app.xml \
-platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7..sdk \
-C $PROJ_PATH TouQiu.swf \
-C $PROJ_PATH icons \
-C $PROJ_PATH Default.png \
-C $PROJ_PATH Default@2x.png \
-C $PROJ_PATH Default-568h@2x.png

最终,终于成功运行了,以上就是正常的代码。哇卡卡。

接着,写拷贝到模拟器的命令:

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

运行的脚本:

 ./adt -launchApp \
-platform ios \
-platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7..sdk \
-device ios-simulator \
-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

Flash AIR14导出ipa到Mac上的iOS模拟器测试的更多相关文章

  1. windows或mac上对iOS设备截图

    1.需要在设备上安装插件“设置”--“开发者”的选项 2.启动"com.apple.mobile.screenshotr"服务 3.和设备scoket通讯,拿到截图.

  2. Mac/ios 模拟器 测试模拟慢网速

    原文:http://www.heyuan110.com/2015/06/16/Mac%E6%B5%8B%E8%AF%95%E6%A8%A1%E6%8B%9F%E6%85%A2%E7%BD%91%E9% ...

  3. Mac下启动iOS模拟器

    终端列出你安装的所有可用的设备xcrun instruments -s 或 xcrun simctl list 启动方式一: 先启动模拟器:open -a Simulator,这时会以默认的iOS系统 ...

  4. 将sqlserver导出的csv数据导入到ubuntu和mac上的mysql

    最近在捣鼓一些数据相关的东西.将sql server里的数据导入到ubuntu和mac上的mysql,方法有很多.不过我选择了最简单的一种:将sql server的数据导成csv,然后将csv导入到m ...

  5. xcodebuild导出ipa方法

    xcode 5.x版本导出ipa是不需要开发者账号,而xcode6以后导出ipa必须要求选择开发者team,无法绕开,但我们使用xcodebuild命令行可以无视这个限制 环境: mac osx 10 ...

  6. MAC上搭建Jenkins + Android + IOS自动开发部署环境

    因为MAC是大小写不敏感的操作系统,很多Linux命令不支持,所以首先要创建大小写敏感的操作系统. 设置静态IP 打开"System Preferences..." 点击" ...

  7. Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

    忘记Root密码肿么办 Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大.如果你是第一次安装,在mysql安装完成之后,会弹出来 ...

  8. iOS 导出 ipa 包时 四个选项的意义

    iOS 导出 ipa 包时 四个选项的意义 如图  在 iOS 到处 ipa包的时候 会有四个选项 1.Save for iOS App Store Deployment 保存到本地 准备上传App ...

  9. Mac上的欧路词典单词本迁移到有道词典 #node.js

    摘要 有道词典提供了柯林斯和朗文辞典,加上最近在背单词且Mac版的屏幕取词也够用了,为了云单词本的同步,决定抛弃Mac上的欧路词典.单词欧路上的单词本也存了一百多个单词.怎样迁移到有道呢? 关键词:n ...

随机推荐

  1. Rust入门篇 (1)

    Rust入门篇 声明: 本文是在参考 The Rust Programming Language 和 Rust官方教程 中文版 写的. 个人学习用 再PS. 目录这东东果然是必须的... 找个时间生成 ...

  2. C#正则表达式Regex类

    C#正则表达式Regex类的使用 C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类.这个包包含于System.Text.RegularExpressions命名空间下面,而这个命名空间 ...

  3. 1029: [JSOI2007]建筑抢修 - BZOJ

    Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修 ...

  4. java模拟OSUnMapTbl[]

    问题描述: 任务就绪表,记录当前就绪的任务,就绪表中把64个优先级的任务分成8组,优先级的1-3bit表示OSRdyTbl[]中组别OSRedyGrp,优先级的4-6bit表示每组中就绪任务的位置,当 ...

  5. 10+ 最流行的 jQuery Tree 菜单插件

    jstree – jQuery Tree Plugin With HTML & JSON Data jstree is a lightweight and flexible jQuery pl ...

  6. 【扩展欧几里得】Codevs 1200: [noip2012]同余方程

    Description 求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解. Input Description 输入只有一行,包含两个正整数 a, b,用 一个 空格隔开. Outpu ...

  7. The 5th Zhejiang Provincial Collegiate Programming Contest---ProblemE:Easy Task

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2969 全场第一水题.我不知道怎么解释,看代码就好了... #include ...

  8. uva 10056

    概率 Q += p*pow(1-p, i*n+k-1) i = 0,1,2,3...... #include <cstdio> #include <cmath> int mai ...

  9. 深入剖析Classloader(一)--类的主动使用与被动使用

    原文地址:http://yhjhappy234.blog.163.com/blog/static/3163283220115573911607 我们知道java运行的是这样的,首先java编译器将我们 ...

  10. APP,webapp 设计相关资料汇集区

    (1).@2x iPhone3GS时代,我们为一个应用提供图标(或按钮提供贴图),只需要icon.png.针对现在的iPhone4~6 Retina显示屏,需要制作额外的@2x高分辨率版本. 例如在i ...