@zhuoming
2017-07-27T08:22:52.000000Z
字数 6579
阅读 1108
UI
创建并运行第一个iOS的项目。
在这个章节,我们将学习有关iOS系统的相关知识,让读者对iOS系统有个了解。为后面的章节的学习奠定良好的基础和兴趣。
iOS(原名:iPhone OS)是由苹果公司开发的移动操作系统 。最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大会上宣布改名为iOS。
历史重要版本更新如下:
- 目前iOS的生态圈相当成熟,大量的事实证明:只要有创意+技术,不管是开发者还是公司团队都能获得相当可观的利润。
- Apple公司一年会有几次发布会:春季发布会主要发布产品更新、年中的WWDC主要是发布新的系统、秋季的发布会一般会发布新的硬件产品。在这里推荐大家关注WWDC,在这个发布会上,Apple公司会有专门的讲座来讲解新的技术。目前距离WWDC2016 还有一个月,WWDC2015早已经有中文字幕。
不少人还记得当初iPhone4的辉煌,除了超一流的硬件外,iOS UI的精致,系统运行稳定和流畅也是功不可没。那我接下来就来看看iOS的框架构成。

iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。
iOS 9 for iPhone
* 更强的Siri :每周收到10亿条指令的Siri,在识别的速度和准确率上都提高了40%,Siri的功能也得到了丰富,可以用来查找图片、视频,也能让它提醒你看完网页上的文章。
* 更智能的推送 :为了体现智能,当iPhone连接耳机或汽车时,会有主动推送音乐的功能。在日历中添加的事件若有地址信息,将会提醒出发时间。根据用户的行为习惯,打开通知栏,会在不同时间推送相应的APP和信息。
* 更强大的搜索功能 :搜索功能增强,可搜索赛事日程、netflix 影片、app 内信息等更多内容。
* 关联起来的信息 :日历和邮件必须单说,日历会自动记录在邮件中收到的邀请函,并作出提醒。添加事件时若有地址信息,会提醒出发时间。有陌生电话打来,通过邮件的判断,会将来电人信息迅速显示在号码下方。
* ApplePay :与Apple Pay合作的银行和商铺越来越多,不少中国银行和商品已经支持Apple Pay。Apple Pay能收集银行卡、积分卡、交通卡、商户卡,因此,Passbook正式更名为Wallet。
* 备忘录升级 :自带的备忘录可以画图,核查清单,添加网页内容和APP内容。
* NEWS :iOS 9的压轴大戏是一个全新的APP——NEWS。根据个人喜好,高度定制新闻源,其中有超过 100 万的话题可供选择,用户界面也做得非常精致。最煞风景的是仅支持美国、澳大利亚和英国。
iOS 9 for iPad
性能优化提升 :利用Metal的技术优势,升级至iOS 9的苹果设备在性能和电池寿命上都会得到提升。
最后 最令人兴奋的是苹果公司宣布Swift开源。
iOS开发需要的环境是一台运性MAC OSX系统的电脑如苹果公司计算机iMac、MacBook、Mac Mini等。软件方面需要在AppStore或者官方网站下载Xcode。


在你的Mac上安装好Xcode之后,你已经可以进行iOS的开发学习了,但是你仍需要申请一个开发者账号,以便在真机上开发调试应用。
苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构。即:
1、个人(Individual)
2、组织(Organizations)
组织类又分为2个小类:
(1)公司(Company)
(2)企业(Enterprise)
3、教育机构(Educational Institutions)
更多内容介绍,请看苹果官方说明:Choosing a Membership
我们经常最关注的是个人、公司、企业这3类,公司和企业都属于“组织”大类,下面对这3个做下简单对比:
1、个人(Individual):
(1)费用:99美元一年
(2)App Store上架:是
(3)最大uuid支持数:100
(4)协作人数:1人(开发者自己)
说明:“个人”开发者可以申请升级“公司”,可以通过拨打苹果公司客服电话(400 6701 855)来咨询和办理。
2、公司(Company):
(1)费用:99美元一年
(2)App Store上架:是
(3)最大uuid支持数:100
(4)协作人数:多人
允许多个开发者进行协作开发,比个人多一些帐号管理的设置,可设置多个Apple ID,分4种管理级别的权限。
说明:申请时需要填写公司的邓白氏编码(DUNS Number)。
3、企业 (Enterprise)
(1)费用:299美元一年
(2)App Store上架:否
即该账号开发应用不能发布到App Store,只能企业内部应用。
(3)最大uuid支持数:不限制
(4)协作人数:多人
费用:299美元一年
说明:需要注意的是,企业账号开发的应用不能上线App Store,适合那些不希望公开发布应用的企业。同样,申请时也需要公司的邓白氏编码(DUNS Number)。
好消息是:在Xcode7发布后个人免费账号也可以进行真机调试了。但如果要上架App还是需要付费的个人账号。
打开Xcode应用 
我们可以看到以下界面

点击新建一个Xcode项目

添加项目信息

按下next 并选择项目存放目录后我们的第一个UI项目工程就创建完成了。
本节主要对Xcode的面板、常用配置和快捷操作进行介绍。

至此,我们学会了如何创建一个Xcode项目,并通过StoryBoard 添加简单的UILabel控件。


选择4英寸的iPhone5s模拟器,运行得到的结果如下

上面提到iOS只能运行在Apple自家的硬件上,主要为iPhone和iPad。下面来介绍iPhone与iPad的历史和现状。
iPhone
* 2007年1月9日,乔布斯在旧金山马士孔尼会展中心的苹果公司全球软件开发者年会2007中透露推出第一代iPhone。
* 2008年7月11日,iPhone 3G正式发售。
* 2009年6月19日,苹果发布了iPhone 3GS。
* 2010年6月7 日,苹果发布了iPhone 4,并将iPhone4称为自第一代iPhone以来最大的飞跃。
* 2011年10月4日,苹果发布了第五代iPhone,即iPhone 4S。这款手机采用了iOS 5系统,并与Twitter进行了整合。此外,iOS 5系统中还推出了语音助手Siri。同年乔布斯去世。
* 2012年9月,苹果发布了iPhone 5,这款手机的屏幕尺寸增加至4英寸。iPhone5引入了iOS 6系统。
* 2013年9月10日,苹果公司推出两款新iPhone型号:iPhone 5C及iPhone 5S。
* 2014年9月10日凌晨1点,苹果公司正式发布其新一代产品iPhone 6/iPhone 6 Plus。
* 2015年9月10日,美国苹果公司发布了iPhone 6s和iPhone 6s Plus。
* 2016年3月21日22时,iPhone SE正式发布。

iPad

不同设备的尺寸图如下

在上面我们了解了各种iOS设备的尺寸后,我们来了解iOS的UI设计规范。下面是iOS默认系统的截图

iPhone6Plus的横向模式是唯一像iPad的iPhone。换句话说,左导航将会出现,更换标签栏的布局。
iPad分辨率
而iPad有两个主要分辨率:768×1024pt(iPad),1024×1366pt(iPad Pro)
iPad 2的新功能:Slide Over、Split View。,Slide Over可以从侧边调用出另外一个应用,同时在屏幕上展示。
Split View:一个屏幕,做两件事!你终于可以在一个屏幕上同时打开两个应用,一边处理表格一边编辑文档;一边浏览网页一边刷朋友圈;
APP图标
图标是用户看到您的APP第一件事。它会出现在主屏幕上,App Store商店中, spotlight搜索和设置里。
iPhone不再支持@1x,所以你不必生成它。APP图标现在只需要使用:@2x、@3x。有3种类型:应用程序图标,Spotlight搜索和设置。而iPad使用:@1x、@2x。更多细节参考官方文档
![]()
目前开发iOS主要有两种言语:Objective-C 和 Swift。就目前行业现状来说只有小部分的公司完全用Swift开发,大部分公司仍然在使用Objective-C,但是可以预见的未来是Swift将会成为主流。需要注意的是:这并不意味着我们不用学习Objective-C,学会Objective-C后你将很容易的掌握Swift,并且相对现在还不完善的Swift,Objective-C更成熟更完善。
Swift是一种适用于iOS和OS X应用的全新编程语言,它建立在最好的C和Objective-C语言之上,并且没有C语言的兼容性限制。Swift采用安全的编程模式,增加了现代功能使编程更容易、更灵活、更有趣。Swift以成熟且备受宠爱的Cocoa和Cocoa Touch框架为支撑,这是一个重新构想软件开发的机会。
Swift经过了数年的酝酿,Apple通过改进现有的编译器、调试器和框架结构奠定了Swift的基础,并通过Automatic Reference Counting(ARC)简化了内存管理。Swift的framework stack建立在坚实的Foundation和Cocoa基础之上,实现了现代化和彻底标准化。Objective-C本身已经逐步发展到到支持blocks、 collection literals和modules,使框架不间断地采用现代语言技术。基于这个基础,我们可以为今后的Apple软件开发引入一种新语言。
对Objective-C开发者来说,Swift看起来会很熟悉。它具有Objective-C命名参数的易读性和动态对象模型的强大之处,提供了无缝接入现有Cocoa框架和与Objective-C混编的能力。基于这个共同点,Swift引入了许多新的特性、统一的程序和面向对象的语言部分