来源: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. Android 加密之文件级加密(CE/DE)

    https://blog.csdn.net/myfriend0/article/details/77094890/   Android加密之文件级加密

  2. LeetCode_409. Longest Palindrome

    409. Longest Palindrome Easy Given a string which consists of lowercase or uppercase letters, find t ...

  3. linux广播

    linux广播 // 发送端 #include <stdio.h> #include <unistd.h> #include <sys/types.h> #incl ...

  4. [LeetCode] 168. Excel Sheet Column Title 求Excel表列名称

    Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...

  5. 思维导图Xmind8

    Xmind——一款强大的思维导图工具,方便记忆和理清思路,同时思维导图特殊的记录方式也便于捕捉跳跃思考. 五款思维导图软件:MindManager.iMindMap.XMind.MindMapper. ...

  6. 【C/C++开发】多线程编程中的join函数

    多线程编程中的join函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # coding: utf-8 # 测试多线程中join的 ...

  7. 面试之leetcode两数求和

    1 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样 ...

  8. spring cloud集成canal

    前提 win运行canal 加入canal依赖 <dependency> <groupId>com.alibaba.otter</groupId> <arti ...

  9. JAVA多态中的隐藏和覆盖

    Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型 编译时类型:由声明该变量时使用的类型决定 运行时类型:由该变量指向的对象类型决定 如果编译时类型和运行时类型不一致,会出现所谓的多态. ...

  10. 05 javascript知识点---BOM和DOM

    1.DOM简单学习(为了满足案例要求) 功能:控制html文档的内容获取页面标签(元素)对象:Element document.getElementById("id值"):通过元素 ...