来源:http://www.tuicool.com/articles/AFRJzi

利用iOS模拟器来检测和调试AIR应用程序补充篇

Air3.4来了 
除去可以直接往模拟器里面部署应用,还可以往真机里面部署应用。

Air3.3的时候非常苦逼,你只能往模拟器里面装应用而不能删除,到了Air3.4以后不但可以安装,还可以删除,这说明,直接用Xcode 自带的ios模拟器调试air程序的时代正式来临了。

作者  黄晋威

其实这篇文章算是这篇文章的补充:

http://www.adobe.com/cn/devnet/air/articles/ios-simulator.html

要求
必备知识

  1. 你懂得怎么用AIR开发Mobile应用程序,并且在程序中安装它
  2. 你懂得如何打包ANE,并且在程序中调用它。
  3. 你懂得如何在xcode的模拟器上面运行你的程序。

用户级别 
中级

必需产品

这里把如何生成适用于模拟器使用的.a文件其实调试ANE程序的流程和上面也差不多,唯一的区别在于你需要产生一个可供x86架构使用的ANE文件。这里需要做的有以下三步:
  1. 生成iOS模拟器用的.a文件。
  2. 添加iphone-X86节点。
  3. target增加iphone-X86。

很多人大概都卡在第一步了,作为一个xcode菜鸟使用者,你怎么知道你生成的.a文件是ARM架构的,还是x86架构的?究竟要怎么配置?

xcode的话先看看你的库设置是不是这样的:

如果是,我们就转到非常无聊但是又非常实用的构建脚本上面去了。

我这里用的是Rakefile,不用make是因为不会写Makefile。

不过这些东西一通就都通。

先是前置变量说明:

#project path configuration
#ADT path
$sdk_bin = "~/Dropbox/air3.3/bin"
 
#Project Target
$ane_project_name = "AppPurchase"
 
#Project native lib location
$native_ios_path = "native/NativeLib"
#Project as lib location
$native_as_path = "native/ASLib"
#native project location
$native_ios_project_path = "#{$native_ios_path}/#{$ane_project_name}.xcodeproj"
#sdk version
$ios_sdk = "5.1"
#project buildtype: Release/Debug
$build_type = "Debug"

在这里我们就用命令行生相对应平台的库:

#build .a file for native device
`xcodebuild -project #{$native_ios_project_path} -target #{$ane_project_name} -configuration #{$build_type} -sdk "iphoneos#{$ios_sdk}"`
#build .a file for simulator
`xcodebuild -project #{$native_ios_project_path} -target #{$ane_project_name} -configuration #{$build_type} -sdk "iphonesimulator#{$ios_sdk}"`

对应的控制台命令就是

xcodebuild -project native/NativeLib/Appurchase.xcodeproj -target Appurchase -configuration Debug -sdk "iphoneos5.1"
 
xcodebuild -project native/NativeLib/Appurchase.xcodeproj -target Appurchase -configuration Debug -sdk "iphoneossimulator5.1"

关于这个SDK怎么确定呢?

在控制台输入 xcodebuild –sdk –version  即可。

然后就会生成相应平台的.a 文件了。

然后一切都按照最上面的那篇文章来就好了。

IOS模拟器调试ANE的更多相关文章

  1. Xamarin.iOS模拟器调试找不到资源文件

    Xamarin.iOS模拟器调试找不到资源文件 在Visual Studio 2015中,运行Xamarin.iOS项目,出现找不到资源文件的错误.错误信息:System.IO.FileNotFoun ...

  2. 菜鸟的Xamarin.Forms前行之路——windows下VS运行ios模拟器调试

    在Xamarin.Forms项目中,运行安卓模拟器是很方便的,但是想要运行IOS模拟器,相对而言是困难一点. 在参考一些资料后,发现很多是与Xamarin.studio有关的方法,尝试了许久没有成功. ...

  3. IOS开发之——IOS模拟器调试蓝牙BLE

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhenyu5211314/article/details/24399887 因为在iPhone 4s ...

  4. DELPHI FMX IOS模拟器调试时出现No SDKs could be found

    解决办法: 在OSX里打开XCODE,​点击XCODE菜单->​Perferences->Locations​在Commond  Line Tools选择XCODE ​

  5. iOS各种调试技巧豪华套餐

    转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global Break ...

  6. IOS各种调试

    IOS各种调试技巧豪华套餐   目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印 ...

  7. iOS 性能调试

    性能调优的方式: 1.通过专门的性能调优工具 2.通过代码优化 1. 性能调优工具: 下面针对iOS的性能调优工具进行一个介绍: 1.1 静态分析工具–Analyze 相信iOS开发者在App进行Bu ...

  8. Xcode无法启动ios模拟器的问题

    一.问题描述 开发过程需要来回切换ios模拟器调试程序,开始在iPhone 4s下调试,然后切换到iPhone 6s Plus,再切换回iPhone 4s,遇到无法启动ios模拟器.错误提示如下: 二 ...

  9. storyboard在ios模拟器无法显示的问题

    一.问题描述 1.在原有项目新建一个名称为test的storyboard类型的文件. 2.test.storyboard添加View Controller,并设置View Controller下Vie ...

随机推荐

  1. Grid数字或金额千分位或保留两位小数

    formatter: 'number', formatoptions: { thousandsSeparator: "", decimalPlaces: 2 }

  2. [转]Maven 全局配置文件settings.xml详解

    原文地址:https://www.jianshu.com/p/110d897a5442 概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置se ...

  3. chartjs

    chartjs是一个图表控件集合,使用html5的canvas进行绘制. 官网:http://www.chartjs.org/ 文档:https://www.chartjs.org/docs/late ...

  4. IDEA 开发javafx: error: java:package javafx.application does not exist

    1)jdk使用1.8, 1.7中未包含javafx相关内容. 2)确保classpath中加入了javafx包路径. 在“file” --> "project structure&qu ...

  5. Composer 国内加速:可用镜像列表大全

    查看地址1:https://learnku.com/composer/wikis/30594 查看地址2:https://learnku.com/articles/30258

  6. 【Ubuntu升级python3.5到python3.6】dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: E: Sub-process /usr/bin/dpkg returned an error code (1) 问题解决

    Ubuntu16.04上将系统自带的python3.5升级到3.6 安装aioredis时提示Python版本需>=3.5.3,所以进行升级命令如下: $ sudo add-apt-reposi ...

  7. [LeetCode] 276. Paint Fence 粉刷篱笆

    There is a fence with n posts, each post can be painted with one of the k colors. You have to paint ...

  8. npm 私服工具verdaccio 搭建

    npm私服搭建的必要性 1.如果公司处于隐私保护的需要,不想讲自己封的包推到npm社区,但又急需要一套完整的包管理工具来管理越来越多的组件,模块,项目.对于前端,最熟悉的莫过于npm,bower等,但 ...

  9. java容器——面试篇

    背景:java容器是面试中基础的基础,所以 有必要对着源码撸一遍. 进行了高度总结,首推: https://github.com/CyC2018/CS-Notes/blob/master/notes/ ...

  10. openstack 权限控制 (添加自定义角色)keystone等组件

    每一个平台.系统都会对于用户的权限进行严格的管理与控制. openstack是一个开源的项目,我们可以直接下载其源码,进行更改以达到我们的要求. 这里只是针对于用户的权限进行管理,以keystone: ...