《Swift iOS应用开发实战》——1.5 iOS模拟器

1.5 iOS模拟器

iOS模拟器是一个运行在Mac上面的应用程序,它允许我们在不使用iOS真机设备的情况下调试所编写的程序项目。它属于iOS SDK的一部分,所以在安装Xcode的时候会直接被装入Mac系统之中。当我们在Xcode中运行应用程序时,可以选择项目是在模拟器中运行还是在真机上面运行。如果选择模拟器,则Xcode会在成功编译代码以后自动将其打开。
下面来设置HelloWorld项目的运行设备。
1)点击工具栏中停止按钮右侧的Scheme字段,(项目名称右侧,“>”后面的部分),此时弹出的菜单中列出了iOS Device、iPhone 4s、iPhone 5、iPad 2、iPad Retina、iPad Air等可选项,如图1-27所示。

从Xcode 6开始,我们就不能在iOS模拟器中模拟iPhone 4s之前的设备以及第一代iPad设备了,因为这些设备无法支持iOS 7以上的系统。
1.5.1 iOS模拟器的特性
我们可以使用iOS模拟器模拟不同的设备,其中包括iPhone和iPad系列产品。在系统版本方面,Xcode 6只支持iOS 7和iOS 8。模拟器在运行的时候,可以通过菜单中的“Hardware→Device”来改变iOS的版本,如图1-28所示。
如果需要安装其他不同版本的iOS SDK,需要在Xcode菜单中选择“Preferences→Downloads→Components”,之后选择相应的版本下载即可。

通过“Hardware→Device”菜单操作,我们可以在模拟器中切换不同的设备。根据iOS版本的不同,所模拟的设备也有所不同。iOS 8.0比7.1增加了Resizable iPhone和Resizable iPad两个选项,据说这两个选项与iOS 8可能加入的多窗口操作有关。
通过iOS模拟器菜单中的“Rotate Left”(Command+←快捷键)或“Rotate Right”(Command+→快捷键)来调整模拟器的方向,如图1-29所示。
iOS模拟器允许我们模拟一个或两个手指的多点触摸操作。一个手指的操作,比如点击、长按、划动等都可以通过鼠标很好地模拟。实现两个手指的操作需要按住键盘上的Option键,然后按住鼠标拖曳来模拟缩放操作。如果要移动两个手指在屏幕的中心位置,则需要同时按住Shift和Option两个键。想要在模拟器中实现iOS设备的摇动效果,可以通过“Hardware→Shake Gesture”(Control+Command+Z快捷键)来完成。
如果我们开发的应用程序需要地图数据,可以在应用程序运行的时候,使用iOS模拟器模拟一个位置。选择“Debug→Location→Custom Location”,然后输入经纬度数值即可,如图1-30所示。

iOS模拟器还可以模拟一个移动的位置,当设计的应用程序需要获取实时改变的地理位置时,这个功能就显得非常有用。iOS模拟器可以模拟的位置包括如下这些:
Apple: 苹果总部。
City Bicycle Ride:在城市中骑自行车。
City Run:在城市中跑步。
Freeway Drive:无确定方向的驾驶汽车。
如果我们开发的应用程序允许用户打印一些东西,在没有兼容AirPrint打印机的情况下,可以使用打印机模拟器模拟打印。打印机模拟器不会在程序启动时自动运行,需要选择“File→Open Printer Simulator”。
1.5.2 模拟器中iOS系统的基本设置
在安装好Xcode后,模拟器中运行的iOS默认语言是英文,默认区域格式是美国,而且输入法也仅有英文一种。作为中国的程序员,我们希望将模拟器设置成和国内iPhone手机用户一样的使用环境,所以需要进行下面几步操作:
1)在Xcode菜单中选择“Xcode→Open Developer Tool→iOS Simulator”。
2)在模拟器的主屏上点击“Settings→General→ Language & Region→iPhone Language”,将语言设置为简体中文。当点击右上角的“Done”按钮以后,会弹出一个确认框,如图1-31所示。在点击确认以后,系统的语言就变成了简体中文。

3)在“设置→通用→语言与地区”中将“地区”设置为中国。此外,在语言与地区界面中我们还可以看到“区域格式示例”,包括时间、日期、货币和数字格式。
4)进入“设置→通用→键盘→键盘”,确定其中有简体中文的输入法。如果没有,则选择添加新键盘,选中“简体中文”即可,这样在虚拟键盘中就可以输入中文了。
iOS模拟器最主要的目的就是有效节省程序员开发的时间,如果一个应用程序要在真机上调试,需要经过上传、安装、运行这三个阶段,而这将花费很长的时间,因为哪怕是一点点代码的修改,每次测试都需要经历这三个阶段。假如这个应用程序中包含了大量的图片、音频或视频文件,相信这将是对开发人员耐性的一个巨大挑战。
在iOS模拟器上应用程序的运行效果(如执行速度、切换视图的平滑程度等)并不等同于在iPhone真机上的运行效果,毕竟iPhone的硬件无法与Mac相比,而且每代iPhone手机的推出都伴随着CPU性能的增强。避免这种情况的最好方法就是在真机上进行测试(一个成熟的应用至少需要在2~3种iOS设备上进行测试),如果仍然出现上述问题,就需要优化算法。
1.5.3 在模拟器中安装和卸载应用程序
如果在Xcode中运行应用程序项目,该项目就会被自动安装到模拟器之中。
我们不能删除iOS模拟器中默认的应用程序,如照片、通讯录、设置、Game Center、报刊杂志和Safari。要卸载(删除)iOS模拟器中自己编写的应用程序,操作步骤和真机上是一样的。
1)在应用程序图标上按住鼠标,直到图标开始摇晃。
2)当图标摇晃的时候,可以看到其左上角有一个“X”按钮。点击要删除应用程序图标左上角的“X”按钮,此时弹出警告对话框确认删除操作,如图1-32所示。

4)点击“删除”按钮,确认卸载操作。
对于代码存有Bug的应用程序,在模拟器中运行的时候可能会引起崩溃。此时Xcode将会运行代码调试器,进入Debug状态。我们只要点击Xcode工具栏中的“Stop”按钮就可以结束应用程序在模拟器中的运行并关闭代码调试器。
5)如果想快速清空模拟器中的全部应用程序,可以选择“设置→通用→Reset”,点击“还原位置与隐私”,在弹出的警告视图中点击“还原警告”即可。
1.5.4 iOS模拟器的限制
尽管iOS模拟器可以完美地运行我们编写的iOS应用程序,但还是有一定的局限性的,它不能完成下面这些操作:
模拟手机来电的状态
使用重力加速器和三轴陀螺仪
发送和接收短信息
从App Store上下载安装应用程序
使用前后置摄像头
使用设备的麦克风(如果开发设备具备麦克,则可以使用)
一些OpenGL ES的核心特性
尽管iOS模拟器存在上面的这些限制,但对于一般应用程序来说还是足以应付的,只不过它还不能完全代替在真机上的测试。

时间: 2025-01-21 02:55:56

《Swift iOS应用开发实战》——1.5 iOS模拟器的相关文章

Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍

原文 Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍 前言 在上一篇文章中, 我们介绍了Xamarin 以及简单的HelloWorld范例, 这次我们针对iOS的专案目录架构以及基本控制项进行说明. 包含UIButton,, UISlider, UISwitch, UIImage以及UIWebView控制项. iOS的使用者介面描述档, 其副档名为.xib, 目前在Visual Studio尚未支援直接编辑. 因此在文章中, 我们会先用Xamarin S

《Swift iOS应用开发实战》——3.1MVC设计模式简介

3.1MVC设计模式简介 要想成为一名优秀的iOS程序开发人员,至少要具备一种面向对象程序设计语言的开发经验,比如Java.C++或C#,并且C语言也是我们必须熟练掌握的,在此基础上学习Swift语言就会游刃有余.除此以外,我们还要对设计模式有一定的了解.在iOS中最重要的,也是使用最多的一种设计模式就是:模型-视图-控制器(Model-View-Controller,MVC)设计模式. 在开发面向对象应用程序之前(甚至是面向对象程序开发成为主流后的一段时间),程序员们在编写程序代码时还总是愿意

《Swift iOS应用开发实战》——第2章 搭建计算器的界面

第2章 搭建计算器的界面 作为一名开发者,有的时候你可能会听到身边的人在指着手机不停抱怨:"如果有这样一款应用该多好--"是呀,当一个不经意的想法被你变成现实的时候,你所得到的不仅仅是经济方面的利益,更多的是那种经历,那种从无到有,从幼稚到成熟的过程,而经历和过程无比珍贵.通过本书的学习,你将学会如何创建基于iOS平台的应用程序,并且通过对程序的改进,你完全有可能开发出一款在App Store上有百万用户下载的应用,但"千里之行始于足下",让我们一起先从本书的第一个

《企业级ios应用开发实战》一导读

前 言 为什么写这本书 随着我国3G网络和移动互联网的兴起,许多传统的企业应用正在从桌面向移动终端扩展,移动办公.移动营销.移动作业等需求日渐强烈. 有迹象表明,传统的互联网正在向移动互联网发展.根据摩根士丹利发布的全球互联网发展趋势报告(Mary Meeker 2010)显示:全球互联网发展趋势正在由PC-Internet向Mobile-Internet转变,手机在某种意义上已经主导着互联网的发展,新兴的下一代互联网,即Mobile 2.0正在崛起,这完全得益于移动通信技术的迅猛发展.这不仅仅

《企业级ios应用开发实战》一2.7 在 iPhone 上运行应用程序

2.7 在 iPhone 上运行应用程序 如果要在iPhone手机上运行程序则没有那么容易了. 正如第1章所述,在开始开发iPhone应用程序之前,你需要注册成为iPhone开发人员.只有这样,苹果公司才会允许你使用"完全的"的SDK,否则你只能下载一个有功能限制的免费SDK. 注册页面位于.苹果将该注册程序称为苹果开发者计划(Apple Developer Plan),其中针对iPhone开发人员的称作iOS开发者程序.在该页面的底部提供了苹果支持的所有注册程序(见图2-29). 在

《企业级ios应用开发实战》一1.2 iOS企业应用程序的架构

1.2 iOS企业应用程序的架构 本书把iOS企业应用定义为传统企业应用向iOS手机终端的顺延和扩张.在此定义下,iOS企业应用由服务端和iOS客户端构成,二者间通过3G移动互联网(CDMA/TD/WCDMA)连接或通信. 1.2.1 服务端 服务端(企业网络或Web服务)实际上为iOS企业应用提供企业数据和服务.如果把iOS客户端看做是前端应用,则服务端就是后台服务.服务端向前端提供一系列访问传统企业应用的接口,也可以为前端提供企业数据库和业务系统的访问.因此,iOS企业应用的服务端可能有两层

《Swift iOS应用开发实战》——第1章 Swift简介

第1章 Swift简介 北京时间2014年6月3日凌晨1点,苹果公司(以下简称苹果)在美国旧金山Moscone中心举行了WWDC开发者大会开幕式,会上正式发布了iOS 8移动操作系统以及OS X Yosemite桌面操作系统.抛开Yosemite不谈,苹果在iOS 8中更新了很多内容,其中包括: 锁屏状态下直接快速删除通知. 支持发送语音信息. 输入法支持预判联想功能. 新增Healthkit健康应用. Siri支持流媒体识别,可以直接通过它购买音乐. 自带相册集成更强大的图片处理软件. 大幅改

《Swift iOS应用开发实战》——1.3 了解Xcode

1.3 了解Xcode 作为一名开发者,不管在什么平台上进行开发,总需要一大堆的软件支持,才能将自己的想法变成可以让成千上万人受益的应用程序.苹果不希望这样,它为开发者提供了一个优雅的.功能强大的.光鲜亮丽的开发工具包,这个包就叫做Xcode.通过Xcode,我们可以创建.测试.部署和发布iOS或OS X应用程序.在2014年6月,苹果发布了iOS 8和Xcode 6的beta版本,在使用的过程中笔者能够感受到苹果力求让开发工具无比简单.实用.通过其强大的功能和全新技术,帮助开发者在创建应用程序

《Swift iOS应用开发实战》——导读

前言 苹果公司在2014年6月的WWDC(Worldwide Developers Conference,苹果全球开发者大会)上向公众展现了全新的iOS 8移动操作系统和Yosemite桌面操作系统.作为开发者,大会开幕之前的任何爆料,我都是不会错过的.在大会开幕的前一天,我得知本届大会的宣传标语为:编写代码改变世界(Write the Code. Change the World).历届WWDC的宣传标语都是以全新.卓越.领先.创新.引领等作为关键词,而这次却使用了非常接地气的"编写代码&qu

《Swift iOS应用开发实战》——1.1初识Swift

1.1初识Swift Swift是苹果在WWDC 2014所发布的一门编程语言,用于开发iOS和OS X应用程序. 2010年7月LLVM编译器的原作者暨苹果开发工具部门总监克里斯·拉特纳(Chris Lattner,就是在WWDC 2014大会上亲自演示Swift代码的那位仁兄)开始着手开发Swift语言,一直到2014年6月发布,Swift大约经历了4年的开发期.在WWDC 2014大会中,苹果宣称Swift的特点是:快速.现代.安全和具有交互性. Swift的处理速度非常快.在WWDC上,