没错!你没看错!俺这篇博客就是关于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. 【莫队】bzoj 3781,bzoj 2038,bzoj 3289

    好像又有一个星期没更博客了.. 最近疯狂考试...唯一有点收获的就是学会了莫队这种神奇的算法.. 听起来很难..其实是一个很简单的东西.. 就是在区间处理问题时对于一个待求区间[L',R']通过之前求 ...

  2. (转)基于即时通信和LBS技术的位置感知服务(二):XMPP协议总结以及开源解决方案

    在<基于即时通信和LBS技术的位置感知服务(一):提出问题及解决方案>一文中,提到尝试使用XMPP协议来实现即时通信.本文将对XMPP协议框架以及相关的C/S架构进行介绍,协议的底层实现不 ...

  3. VC 最爱问的问题:你这个创业项目,如果腾讯跟进了,而且几乎是产品上完全复制,你会怎么办?

    VC 最爱问的问题:你这个创业项目,如果腾讯跟进了,而且几乎是产品上完全复制,你会怎么办? http://www.zhihu.com/question/19607233 朱继玉,独立精神,自由思想. ...

  4. 用std::thread替换实现boost::thread_group

    thread_group是boost库中的线程池类,内部使用的是boost::thread. 随着C++ 11标准的制定和各大编译器的新版本的推出(其实主要是VS2012的推出啦……),本着能用标准库 ...

  5. MyBatis之传入参数parameterType

    在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和Ja ...

  6. Mysql一主多从和读写分离配置简记

    近期开发的系统中使用MySQL作为数据库,由于数据涉及到Money,所以不得不慎重.同时,用户对最大访问量也提出了要求.为了避免Mysql成为性能瓶颈并具备很好的容错能力,特此实现主从热备和读写分离. ...

  7. Django自定义用户认证系统Customizing authentication

    扩展已有的用户模型Extending the existing User model 有两种方法来扩展默认的User Model而不用重写自己的模型.如果你不需要改变存储在数据库中的字段,而只是需要改 ...

  8. node.js模块值formidable

    模块地址:https://github.com/felixge/node-formidable var formidable = require('formidable'), http = requi ...

  9. 一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...

  10. Go语言Revel框架 环境搭建

    1.首先参考连个链接 http://blog.csdn.net/creak_phone/article/details/12620969 http://www.geek521.com/?p=616 2 ...