iOS11 开发你了解这些新特性吗?(文末福利)

简介:

点击标题下「异步社区」可快速关注


iOS是一个强大的系统,被广泛地应用于苹果公司的系列产品iPhone、iPad和iTouch设备中。iOS通过这些移动设备展示了多点触摸、在线视频以及众多内置传感器的界面。本文将带领大家认识iOS这款系统,为读者步入后面知识的学习打下基础。

 1.1 iOS系统介绍

iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Mac World大会上公布这个系统,最初是设计给iPhone使用的,后来陆续用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,本来这个系统名为iPhone OS,直到2010年6月7日WWDC大会上才宣布改名为iOS。

1.1.1 iOS发展史

iOS最早于2007年1月9日的苹果Mac World大会上公布,随后于同年的6月发布第一版iOS操作系统,当初的名称为“iPhone运行OS X”。

2007年10月17日,苹果公司发布了第一个本地化iPhone应用程序开发包(SDK)。

2008年3月6日,苹果发布了第一个测试版开发包,并且将“iPhone runs OS X”改名为“iPhone OS”。

2008年9月,苹果公司将iPod touch的系统也换成了“iPhone OS”。

2010年2月27日,苹果公司发布iPad,iPad同样搭载了“iPhone OS”。

2010年6月,苹果公司将“iPhone OS”改名为“iOS”,同时还获得了思科iOS的名称授权。

2010年第四季度,苹果公司的iOS占据了全球智能手机操作系统26%的市场份额。

2011年10月4日,苹果公司宣布iOS平台的应用程序已经突破50万个。

2012年6月,苹果公司在WWDC 2012上推出了全新的iOS 6,提供了超过200 项新功能。

2013年6月10日,苹果公司在WWDC 2013上发布了iOS 7,去掉了所有的仿实物化,整体设计风格转为扁平化设计。

2014年6月3日,苹果公司在WWDC 2014开发者大会上正式发布了全新的iOS 8操作系统。

2015年6月9日,苹果公司在WWDC 2015开发者大会上发布了全新的iOS 9操作系统。

2016年6月13日,苹果开发者大会WWDC在旧金山召开,会议宣布iOS 10的测试版将在2016年夏天推出,正式版将在秋季发布。

2017年6月6日,苹果公司在圣何塞McEnery会议中心召开了WWDC2017全球开发者大会,会上发布了iOS 11系统的测试版本,正式版于2017年秋季发布。

1.1.2 全新的版本——iOS 11

2017年6月6日,苹果公司在圣何塞McEnery会议中心召开了WWDC2017全球开发者大会,5000名开发者来到了发布会现场。本次发布会全程秉承“只发产品不废话”的原则,节奏极快。本次大会上苹果公司正式公布了最新版iOS系统版本iOS 11,并在随后开放了iOS 11 beta1开发者预览版下载。iOS 11系统最突出的新特性如下。

(1)黑暗模式(Dark Mode)

如果仅仅是“夜间模式”的功能,相信大家应该都在第三方的阅读APP上用过。开启此功能之后,系统的主色调变黑,文章反白,不仅能缓解阅读疲劳,同时还能够提供不错的护眼效果。

(2)更强大的Siri

无论是目前最火的人工智能,还是与苹果其他设备的整合功能,苹果都让Siri变得更加强大和智能。比如给出餐厅建议并发送导航或推送用户感兴趣的内容、创建对话,而且还将有望引入人声验证功能、Siri数据同步到iCloud,从而与Google Assistant和亚马逊Alexa抗衡。

(3)P2P支付(类似微信红包)

也许是来自微信的灵感,苹果iOS 11中正在测试P2P支付业务,将其整合到iOS 11上,并重新设计钱包(Wallet)应用,使得用户可通过Apple Pay或iMessage应用等转账给其他人,像发红包一样给好友转账。

(4)FaceTime多人聊天

FaceTime将新增群组通话功能,支持最多5人视频通话,向Skype、Facebook Messenger和Google Hangouts靠齐。FaceTime Audio也将成为默认预设的拨号或呼叫方式,就像优先发送iMessage一样,优先使用FaceTime Audio通话,从而获得高品质、高速网络的通话体验。

(5)ARKit

iOS SDK 11 中 Apple 给开发者,特别是 AR 相关的开发者带来了一个很棒的礼物,那就是 ARKit。ARKit 利用单镜头和陀螺仪,在对平面的识别和虚拟物体的稳定上做得相当出色。ARKit 极大降低了普通开发者玩 AR 的门槛,也是 Apple 现阶段用来抗衡 VR 的选项。

 1.2 开始iOS 11开发之旅

要想成为一名iOS开发人员,首先需要拥有一台计算机,并运行苹果的操作系统。对于iOS 11开发人员来说,需要安装最新的MacOS 10.13系统。硬盘至少有6GB的可用空间,开发系统的屏幕越大,就越容易营造高效的工作空间。对于广大读者来说,还是建议购买一台Mac机器,因为这样的开发效率更高,也避免一些因为不兼容所带来的调试错误。除此之外,还需要加入Apple开发人员计划(Developer Program),拥有一个Apple账号。

其实无须任何花费即可加入到Apple开发人员计划,然后下载iOS SDK(软件开发包)、编写iOS应用程序,并且在Apple iOS模拟器中运行它们。但是毕竟收费与免费之间还是存在一定的区别:免费会受到较多的限制。例如将编写的应用程序加载到iPhone中或通过App Store发布它们,需支付会员费。本文的大多数应用程序都可在免费工具提供的模拟器中正常运行,因此,接下来如何做由你决定。

注意:如果不确定成为付费成员是否合适,建议读者先不要急于成为付费会员,而是先成为免费成员,在编写一些示例应用程序并在模拟器中运行它们后再升级为付费会员。但是,模拟器不能精确地模拟移动传感器输入和GPS数据等。

如果读者准备选择付费模式,付费的开发人员计划提供了两种等级:标准计划(99美元)和企业计划(299美元),前者适用于要通过App Store发布其应用程序的开发人员,而后者适用于开发的应用程序要在内部(而不是通过App Store)发布的大型公司(雇员超过500)。

注意:无论是公司用户还是个人用户,都可选择标准计划(99美元)。在将应用程序发布到App?Store时,如果需要指出公司名,则在注册期间会给出标准的“个人”或“公司”计划选项。

无论是大型企业还是小型公司,无论是要成为免费成员还是付费成员,我们的iOS 11开发之旅都将从Apple网站开始。首先,访问Apple iOS开发中心(https://developer.apple.com/),如图1-1所示。

9ccc0ca9gy1fpydbdg7gij20jh09vaap.jpg

​图1-1 Apple iOS的开发中心页面

如果通过使用iTunes、iCloud或其他Apple服务获得了Apple ID,可将该ID用作开发账户。如果目前还没有Apple ID,需要新注册一个专门用于开发的新ID,可通过注册的方法创建一个新Apple ID,注册界面如图1-2所示。注册成功后输入账号信息登录,登录成功后的界面如图1-3所示。

9ccc0ca9gy1fpydbk1ih2j209v09vq30.jpg

​图1-2 注册Apple ID的界面

9ccc0ca9gy1fpydbnsn45j20mf0a7gmd.jpg

​图1-3 使用Apple ID账号登录后的界面

在成功登录Apple ID后,可以决定是加入付费的开发人员计划还是继续使用免费资源。要加入付费的开发人员计划,请再次将浏览器指向iOS开发计划网页(http://developer.apple.com/programs/ios/),并单击“Enron New”链接加入。阅读说明性文字后,单击“Continue”按钮开始进入加入流程。

在系统提示时选择“I’m Registered as a Developer with Apple and Would Like to Enroll in a Paid Apple Developer Program”,再单击“Continue”按钮。注册工具会引导我们申请加入付费的开发人员计划,包括在个人和公司选项之间做出选择。

 1.3 工欲善其事,必先利其器——搭建开发环境

学习iOS 11开发也离不开好的开发工具的帮助,如果使用的是MacOS 10.13系统,下载iOS 11开发工具将很容易,只需通过简单地单击操作即可。为此,在Dock中打开Apple Store,搜索Xcode 9并免费下载它,坐下来等待Mac下载完大型安装程序(约5GB)。如果你使用的不是MacOS 10.13系统,可以从iOS开发中心(http://developer.apple.com/ios)下载。

注意:如果是免费成员,登录iOS开发中心后,很可能只能看到一个安装程序,它可安装Xcode和iOS SDK(最新版本的开发工具);如果你是付费成员,可看到指向其他SDK版本(5.1、6.0、7.0、8.0等)的链接。

1.3.1   Xcode介绍

要开发iOS的应用程序,需要一台安装有Xcode工具的苹果计算机。Xcode是苹果提供的开发工具集,提供了项目管理、代码编辑、创建执行程序、代码调试、代码库管理和性能调节等功能。这个工具集的核心就是Xcode程序,提供了基本的源代码开发环境。

Xcode是一款强大的专业开发工具,可以简单快速,并以我们熟悉的方式执行绝大多数常见的软件开发任务。相对于创建单一类型的应用程序所需要的能力而言,Xcode要强大得多,设计它的目的是使我们可以创建任何想得到的软件产品类型,从Cocoa及Carbon应用程序,到内核扩展及Spotlight导入器等各种开发任务,Xcode都能完成。Xcode独具特色的用户界面可以帮助我们以各种不同的方式来漫游工具中的代码,并且可以访问工具箱下面的大量功能,包括GCC、javac、jikes和GDB,这些功能都是制作软件产品需要的。它是一个由专业人员设计、又由专业人员使用的工具。

由于能力出众,Xcode已经被Mac开发者社区广为采纳。而且随着苹果计算机向基于Intel的Macintosh迁移,转向Xcode变得比以往任何时候都更加重要。这是因为使用Xcode可以创建通用的二进制代码,这里所说的通用二进制代码是一种可以把PowerPC和Intel架构下的本地代码同时放到一个程序包执行的文件格式。事实上,对于还没有采用Xcode的开发人员,转向Xcode是将应用程序连编为通用二进制代码的第一个必要的步骤。

Xcode的官方地址是:https://developer.apple. com/xcode/,在此界面介绍了Xcode 9的新功能,如图1-4所示。

9ccc0ca9gy1fpydbwek8gj20h50a9js9.jpg

​图1-4 Xcode官方地址介绍Xcode 9的新功能

截止到2017年6月14日,市面中最主流版本是Xcode 8,最新版本是Xcode 9 beta。

1.3.2 下载并安装Xcode 9

其实对于初学者来说,我们只需安装Xcode即可。通过使用Xcode,既能开发iPhone程序,也能够开发iPad程序。并且Xcode还是完全免费的,通过它提供的模拟器就可以在计算机上测试iOS程序。如果要发布iOS程序或在真实机器上测试iOS程序,就需要花99美元了。

1.下载Xcode 9

(1)下载的前提是先注册成为一名开发人员,打开苹果公司开发主页面https://developer.apple.com/。

(2)登录到Xcode的下载页面https://developer.apple.com/xcode/downloads/,找到“Xcode 9”选项,如图1-5所示。

9ccc0ca9gy1fpydc291qmj20k508mq3s.jpg

​图1-5 单击“Xcode 9”下载链接

(3)如果是付费账户,可以直接在苹果官方公司网站中下载获得Xcode 9。如果不是付费会员用户,可以从网络中搜索热心网友们的共享信息,以此达到下载Xcode 9的目的。单击“Download Xcode 9 beta 2”链接后开始下载。

2.安装Xcode

(1)下载完成后单击打开下载的“.dmg”格式文件,双击这个下载文件后首先进行签名验证和解压缩操作,如图1-6所示。

9ccc0ca9gy1fpydc7m63gj20ai03hmx5.jpg

​图1-6 解压缩操作

(2)解压缩成功后会在本地硬盘中生成一个解压后的Xcode安装文件,如图1-7所示。

9ccc0ca9gy1fpydcco0wej20r401at8w.jpg

​图1-7 解压后的Xcode安装文件

(3)双击解压后的Xcode文件开始安装,在弹出的欢迎界面中单击“Agree”按钮,如图1-8所示。

9ccc0ca9gy1fpydcjajf1j20ar07wq3c.jpg

​图1-8 单击“Continue”按钮

(4)在弹出的对话框中输入用户名和密码,然后单击“好”按钮,如图1-9所示。

9ccc0ca9gy1fpydcpv5xej20cb06g3ys.jpg

​图1-9 单击“好”按钮

(5)在弹出的新对话框中显示安装进度,如图1-10所示。

9ccc0ca9gy1fpydcxugqxj20dc04j74d.jpg

​图1-10 安装进度

(6)Xcode 9的默认启动界面如图1-11所示。

9ccc0ca9gy1fpydd3oi3pj20ha0a6weu.jpg

​图1-11 启动Xcode 9后的初始界面

注意:(1)考虑到许多初学者没有购买苹果机的预算,可以在Windows系统上采用虚拟机的方式安装OS X系统

(2)无论读者是已经有一定Xcode经验的开发者,还是刚开始迁移的新用户,都需要对Xcode的用户界面及如何用Xcode组织软件工具有一些理解,这样才能真正高效地使用这个工具。这种理解可以加深读者对隐藏在Xcode背后的开发思想的认识,并帮助读者更好地使用Xcode。

(3)建议读者将Xcode安装在OS X的Mac机器上,也就是装有苹果系统的苹果机上。通常来说,在苹果机器的OS X系统中已经内置了Xcode,默认目录是“/Developer/Applications”。

(4)本文使用的Xcode 9 beat(测试)版本,苹果公司会为开发者陆续推出后续新版本。读者可以用新版本调试本文的程序,完全不妨碍读者对本文的学习。

(5)我们可以使用苹果系统中自带App Store来获取Xcode 9,这种方式的优点是完全自动化实现,操作方便,无需经过本文上面介绍的步骤。

1.3.3 创建iOS 11项目并启动模拟器

(1)Xcode位于“Developer”文件夹内中的“Applications”子文件夹中,快捷图标如图1-12所示。

9ccc0ca9gy1fpyddcingyj201901qgld.jpg

​图1-12 Xcode图标

(2)启动Xcode 9后的初始界面如图1-13所示,在此可以设置创建新工程还是打开一个已存在的工程。

9ccc0ca9gy1fpyddi9a9oj20j50b9t96.jpg

​图1-13 启动一个新项目

(3)单击“Create a new Xcode project”后会出现“Choose a template…”窗口,如图1-14所示。在New Project窗口的顶部导航栏显示了可供选择的模板类别,因为我们的重点是类别iOS Application,所以,在此需要确保选择了它。而在下放区域显示了当前类别中的模板以及当前选定模板的描述。

9ccc0ca9gy1fpyddpo66dj20ei0agaae.jpg

​图1-14 “Choose a template…”窗口

(4)从iOS 9开始,在“Choose a template…”窗口的左侧新增了“tvOS”选项,这是为开发苹果电视应用程序所准备的。选择“tvOS”选项后的效果如图1-15所示。

9ccc0ca9gy1fpyddvcbmcj20en0af3z4.jpg

​图1-15 选择 “tvOS”选项后的效果

(5)对于大多数iOS 11应用程序来说,只需选择“iOS”下的“Single View Application(单视图应用程序)”模板,然后单击“Next(下一步)”按钮即可,如图1-16所示。

9ccc0ca9gy1fpyde0d2h9j20g80bs3yx.jpg

​图1-16 单击模板“Single View Application(单视图应用程序)”

(6)选择模板并单击“Next”按钮后,在新界面中Xcode将要求用户指定产品名称和公司标识符。产品名称就是应用程序的名称,而公司标识符创建应用程序的组织或个人的域名,但按相反的顺序排列。这两者组成了束标识符,它将用户的应用程序与其他iOS应用程序区分开来,如图1-17所示。

9ccc0ca9gy1fpyde741tpj20g20bn74y.jpg

​图1-17 Xcode文件列表窗口

例如,我们将创建一个名为“exSwift”的应用程序,设置域名是“apple”。如果没有域名,在开发时可以使用默认的标识符。

(7)单击“Next”按钮,Xcode将要求我们指定项目的存储位置。切换到硬盘中合适的文件夹,确保没有选择复选框Source Control,再单击“Create(创建)”按钮。Xcode将创建一个名称与项目名相同的文件夹,并将所有相关联的模板文件都放到该文件夹中,如图1-18所示。

9ccc0ca9gy1fpydelswe9j20pb0ipjs7.jpg

​图1-18 选择保存位置

(8)在Xcode中创建或打开项目后,将出现一个类似于iTunes的窗口,用户将使用它来完成所有的工作,从编写代码到设计应用程序界面。如果这是读者第一次接触Xcode,令人眼花缭乱的按钮、下拉列表和图标将让读者感到不适。为了让读者对这些东西有大致认识,下面首先介绍该界面的主要功能区域,如图1-19所示。

9ccc0ca9gy1fpydervodsj20nd0df3zj.jpg

​图1-19 Xcode 9界面

(9)运行iOS模拟器的方法十分简单,只需单击左上角的

9ccc0ca9gy1fpydf05wvtj200s00u0hm.jpg

​按钮即可。例如选中“iPhone 7 Plus”选项,模拟器的运行效果如图1-20所示。

9ccc0ca9gy1fpydfblawgj206i0det91.jpg

​图1-20 “iPhone 7 Plus”模拟器的运行效果

1.3.4 打开一个现有的iOS 11项目

在开发过程中,经常需要打开一个现有的iOS 11项目,例如读者打开书中附带光盘中的源代码工程。

(1)启动Xcode 9开发工具,然后单击右下角的“Open another project…”命令,如图1-21所示。

9ccc0ca9gy1fpydfixffuj20h409d74q.jpg

​图1-21 单击右下角的“Open another project…”

(2)此时会弹出选择目录对话框界面,在此找到要打开项目的目录,然后单击“.xcodeproj”格式的文件即可打开这个iOS 11项目,如图1-22所示。

9ccc0ca9gy1fpydfnv2v3j20fl09hdg0.jpg

​图1-22 单击“.xcodeproj”格式的文件

另外,读者也可以直接来到要打开工程的目录位置,双击里面的“.xcodeproj”格式的文件也可以打开这个iOS 11项目。​


本文摘自《iOS 11 开发指南》

9ccc0ca9gy1fpydfuc3o3j20bz0f674q.jpg

《iOS 11 开发指南》 

管蕾 著

点击封面购买纸书


230多个实例,9小时视频讲解,Objective-C和Swift 4.0双语讲解iOS 11的新特性的完全教程

本书循序渐进地讲解了iOS 11应用开发的知识。书中从搭建开发环境讲起,依次讲解了Objective-C语言基础,Swift 4.0语言基础,Cocoa Touch,Xcode Interface Builder界面开发,使用Xcode编写MVC程序,文本框和文本视图,按钮和标签,滑块、步进和图像,使用开关控件和分段控件,Web视图控件和可滚动视图控件,提醒和操作表,工具栏,日期选择器,表视图,活动指示器,进度条和检索条,UIView,视图控制器,实现多场景和弹出框,iPad弹出框和分割视图控制器,界面旋转,图形、图像、图层和动画,声音服务,多媒体应用,定位处理,触摸,手势识别和Force Touch,读写应用程序数据,触摸和手势识别,和硬件之间的操作,开发通用的项目程序,推服务和多线程,Touch ID,游戏开发,HealthKit健康应用开发,watchOS 4智能手表开发,分屏多任务,使用CocoaPods依赖管理,使用扩展(Extension),在程序中加入Siri功能,开发tvOS程序,开发Apple Pay程序,开发虚拟现实程序,分屏多视图播放器,tvOS电影库系统等高级知识。

本书内容全面,几乎涵盖了iOS 11应用开发所需要的主要内容,适合iOS开发初学者和iOS程序员学习,也可以作为相关培训学校和高校相关专业的教学用书。

小福利

关注【异步社区】服务号,转发本文至朋友圈或 50 人以上微信群,截图发送至异步社区服务号后台,并在文章底下留言你的开发经验,或者试读本书感受,我们将选出3名读者赠送《iOS 11 开发指南》1本,赶快积极参与吧!
活动截止时间:2018年4月8日

9ccc0ca9gy1fpydjunw6ij2076076t8w.jpg

​在“异步社区”后台回复“关注”,即可免费获得2000门在线视频课程;推荐朋友关注根据提示获取赠书链接,免费得异步图书一本。赶紧来参加哦!

扫一扫上方二维码,回复“关注”参与活动!

阅读原文,购买《iOS 11 开发指南》

阅读原文


相关文章
|
Android开发 Swift iOS开发
iOS14新特性探索之二:App Widget小组件应用(一)
iOS14新特性探索之二:App Widget小组件应用
412 0
iOS14新特性探索之二:App Widget小组件应用(一)
|
iOS开发
iOS开发 - 新特性的坑之应用字体根据系统字体大小而变化
iOS开发 - 新特性的坑之应用字体根据系统字体大小而变化
224 0
|
API iOS开发
iOS 11新特性 - LargeTitle
更新了iOS11之后,系统APP大量使用了新的UI风格,那就是iOS11的新特性-Large Title和新的SearchController
iOS 11新特性 - LargeTitle
|
存储 Swift iOS开发
iOS14新特性探索之二:App Widget小组件应用(二)
iOS14新特性探索之二:App Widget小组件应用
482 0
iOS14新特性探索之二:App Widget小组件应用(二)
|
小程序 物联网 定位技术
iOS14新特性探索之一:App Clips轻应用
iOS14新特性探索之一:App Clips轻应用
366 0
iOS14新特性探索之一:App Clips轻应用
|
容器
iOS11新特性:新增拖拽交互体验(三)
iOS11新特性:新增拖拽交互体验
452 0
iOS11新特性:新增拖拽交互体验(三)
|
iOS开发
iOS11新特性:新增拖拽交互体验(二)
iOS11新特性:新增拖拽交互体验
429 0
|
iOS开发 开发者
iOS11新特性:新增拖拽交互体验(一)
iOS11新特性:新增拖拽交互体验
431 0
iOS11新特性:新增拖拽交互体验(一)
iOS9新特性——堆叠视图UIStackView(二)
iOS9新特性——堆叠视图UIStackView
504 0
iOS9新特性——堆叠视图UIStackView(二)
iOS9新特性——堆叠视图UIStackView(一)
iOS9新特性——堆叠视图UIStackView
267 0
iOS9新特性——堆叠视图UIStackView(一)