[关闭]
@zhuoming 2017-07-27T08:22:52.000000Z 字数 6579 阅读 1108

第一章 iOS应用概述

UI



学习目标

1. iOS介绍

1.1 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早已经有中文字幕。

1.2 iOS框架构成

     不少人还记得当初iPhone4的辉煌,除了超一流的硬件外,iOS UI的精致,系统运行稳定和流畅也是功不可没。那我接下来就来看看iOS的框架构成。

1333191260_7445.png-156.2kB

     iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。

1.3 iOS设备

1.4 iOS的最新功能

    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

2. 第一个项目

2.1 下载和安装Xcode

    iOS开发需要的环境是一台运性MAC OSX系统的电脑如苹果公司计算机iMac、MacBook、Mac Mini等。软件方面需要在AppStore或者官方网站下载Xcode。

屏幕快照 2016-05-20 上午9.25.22.png-103.2kB

屏幕快照 2016-05-20 上午9.26.33.png-238.6kB

    在你的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还是需要付费的个人账号。

2.2 创建第一个iOS项目

打开Xcode应用 屏幕快照 2016-01-26 上午10.51.36.png-13.4kB

我们可以看到以下界面

屏幕快照 2016-01-26 上午11.01.33.png-79kB

点击新建一个Xcode项目

屏幕快照 2016-01-26 上午11.04.51.png-66.3kB

添加项目信息

屏幕快照 2016-01-26 上午11.13.43.png-59.1kB

按下next 并选择项目存放目录后我们的第一个UI项目工程就创建完成了。

2.3 Xcode介绍

     本节主要对Xcode的面板、常用配置和快捷操作进行介绍。
xcode.jpeg-207kB

2.4 使用InterfaceBuilder搭建界面

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

屏幕快照 2016-01-26 上午11.25.47.png-178kB

Xcode01.gif-512.5kB

2.5 运行到模拟器

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

xcode3.png-13.9kB

3. iOS系统知识补充

3.1 iOS设备介绍

上面提到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正式发布。

屏幕快照 2016-05-16 下午8.25.02.png-181.4kB

iPad

不同设备的尺寸图如下
ios.jpg-222.1kB

3.2 iOS资源文件说明

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

iOS设计规范

Design-iPhone.jpg-245.2kB
  
  iPhone6Plus的横向模式是唯一像iPad的iPhone。换句话说,左导航将会出现,更换标签栏的布局。
  iPad分辨率
  而iPad有两个主要分辨率:768×1024pt(iPad),1024×1366pt(iPad Pro)
  Design-iPad.jpg-197.8kB
  
  iPad 2的新功能:Slide Over、Split View。,Slide Over可以从侧边调用出另外一个应用,同时在屏幕上展示。
  
  Design-SlideOver.jpg-73.3kB
  
  Split View:一个屏幕,做两件事!你终于可以在一个屏幕上同时打开两个应用,一边处理表格一边编辑文档;一边浏览网页一边刷朋友圈;
  Design-SplitView.jpg-65.6kB
  
  APP图标
  图标是用户看到您的APP第一件事。它会出现在主屏幕上,App Store商店中, spotlight搜索和设置里。
  
  Design-AppIconsRes.jpg-231.6kB
  
  iPhone不再支持@1x,所以你不必生成它。APP图标现在只需要使用:@2x、@3x。有3种类型:应用程序图标,Spotlight搜索和设置。而iPad使用:@1x、@2x。更多细节参考官方文档
  
  Design-AppIconsRes.jpg-231.6kB

3.3 iOS开发语言介绍

目前开发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引入了许多新的特性、统一的程序和面向对象的语言部分

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注