来源: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. ThinkPHP5最新URL访问:PATH_INFO和兼容模式

    https://www.jianshu.com/p/c43fb5817ae1 http://tp5.com/index.php?s=USER/manger_user/add&n=2000&am ...

  2. PID:我应该何时计算积分项?

    最近看到了Brett Beauregard发表的有关PID的系列文章,感觉对于理解PID算法很有帮助,于是将系列文章翻译过来!在自我提高的过程中,也希望对同道中人有所帮助.作者Brett Beaure ...

  3. Python 图片Resize.py

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 19-7-14 下午4:54 # @Author : RongT import cv2 ...

  4. Quartz学习笔记:基础知识

    Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Tim ...

  5. C#基于RabbitMQ实现客户端之间消息通讯实战演练

    一.背景介绍和描述 MQ消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一.何时需要消息队列?当你需要使用 ...

  6. namespace Measure

    namespace Measure { public delegate void DelegateTrigger(); public class HMeasureSYS : System.IDispo ...

  7. 源码分析之Handler

    Handler是Android中的消息机制实现,可以实现UI线程和子线程的消息传递,这里就来深入了解Android的消息机制,来分析Handler的源代码 入手实例 在Android开发中,子线程与主 ...

  8. Oracle通过命令导入数据存储文件

    imp ztdev/ztdev FROMUSER=zt_base TOUSER=ztdev file=/home/oracle/zt_base_1023_sc_kk_new.dmp log=zt_ba ...

  9. 【Django单元测试方法】

    一.前言/准备 测Django的东西仅限于在MTV模型.哪些可以测?哪些不可以. 1.html里的东西不能测.①Html里的HTML代码大部分都是写死的②嵌套在html中的Django模板语言也不能测 ...

  10. Linux系统权限设置 - 运用指南

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...