没错!你没看错!俺这篇博客就是关于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. man手册使用

    1.是普通的命令 2.是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) 3.是库函数,如printf,fread 4.是特殊文件,也就是/dev ...

  2. xcode 上 crash 调试的三种方法

    最近有新人问crash调试方法,简介记录如下: 模拟器调试 打开控制台查看输出日志 显示出错的行数 显示出错的函数iOS Crash跟踪 真机调试 首先修改真机调试的 bundle ID,使代码可以进 ...

  3. CQRS学习——最小单元的Cqrs(CommandEvent)[其一]

    [说明:博主采用边写边思考的方式完成这一系列的博客,所以代码以附件为准,文中代码仅为了说明.] 结构 在学习和实现CQRS的过程中,首要参考的项目是这个[http://www.cnblogs.com/ ...

  4. 手工、工具分别实现cookie注入

    最开始的判断access类型的网站注入点可以用“1 and 1=1”来判断. 不过现在的网站基本上被挡住了.之后呢,可以考虑cookie注入. Dim Tc_Post,Tc_Get,Tc_In,Tc_ ...

  5. Smarty格式化数字为INT数

    <? require("setup.php"); define('PAGETITLE','pagtitle'); function insert_top($lid,$sid) ...

  6. Python 开源异步并发框架的未来

    http://segmentfault.com/a/1190000000471602 开源 Python 是开源的,介绍的这几个框架 Twisted.Tornado.Gevent 和 tulip 也都 ...

  7. Android 调用系统的拍相程序进行录像

    xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...

  8. codeforces #305 div1 done

    总算搞定了这一场比赛的题目,感觉收获蛮大 其中A,B,C都能通过自己的思考解决掉 D题思路好神,E题仔细想想也能想出来 以后坚持每两天或者一天做一场CF的div1的全套题目 除非有实在无法做出来的题目 ...

  9. [codility]Min-abs-sum

    https://codility.com/demo/take-sample-test/delta2011/ 0-1背包问题的应用.我自己一开始没想出来.“首先对数组做处理,负数转换成对应正数,零去掉, ...

  10. linux配置防火墙详细步骤(iptables命令使用方法)

    通过本教程操作,请确认您能使用linux本机.如果您使用的是ssh远程,而又不能直接操作本机,那么建议您慎重,慎重,再慎重! 通过iptables我们可以为我们的Linux服务器配置有动态的防火墙,能 ...