iOS 6开发新特性总结
主要涉及到的新特征如下:
地图、Social Framework(社交集成)、Pass Kit(电子凭证)、Game Center、提醒、IAP、Collection Views、UI状态保存、自动布局(Auto Layout)、数据隐私、FrameWork的增强
下面我们分别来看看这些特征的一些介绍:
1、地图
iOS6抛弃了一直用的google map,而使用了自家的地图服务。相应地,MapKit框架也自然变成和Apple自家的地图服务绑定了。随之而来的好处是因为都是自家的内容,所以整合 和开放会更进一步,第三方app现在有机会和地图应用进行交互了。也就是说,不使用自身搭载地图信息的app现在可以打开地图应用,并且显示一些感兴趣的 路线和地点,这对于路线规划和记录类的应用来说这是个好消息~
2、Social Framework(社交集成)
iOS5 的时候深度集成了Twitter,而Apple似乎从中尝到了不少甜头。现在Apple深度集成了Facebook和Sina Weibo。是的你没看错..新浪微博现在被深度集成了。对于开发这来说,特别是中国开发者来说确实是个好消息,因为如果只是想发条信息的话,不再需要进 行繁琐的API申请,不再需要接受新浪恶心的应用审核,也不再需要忍受新浪程序员写出来的错误百出的SDK了。使用新的Social.framework 可以很简单的从系统中拿到认证然后向社交网络发送消息,这对app的推广来说是很好的补充。
另外,Apple提供了一类新的ViewController:UIActivityViewController来询问用户的社交行为,可以看做这是 Apple为统一界面和用户体验做的努力,但是估计除了Apple自家的应用意外可能很少有人会用默认界面吧..毕竟冒了会和自己的UI风格不符的危险…
3、Pass Kit
Passbook是iOS6自带的新应用,可以用来存储一些优惠券啊电影票啊登机牌啊什么的。也许Passbook这个新应用不是很被大家看好,但是我坚 持认为这会是一个很有前景的方向。这是又一次使用数字系统来取代物理实体的尝试,而且从Passbook里我看到了Apple以后在NFC领域发展的空 间。因为iPhone的设备很容易统一,因此也许会由Apple首先制定NFC的新游戏标准也为可知,如果成真那电子钱包和电子支付将会变成一大桶金呐…
扯远了,PassKit是新加入的,可以说是配合或者呼应Passbook存在的框架。开发者可以使用PassKit生成和读取包含一些类似优惠券电影票 之类信息的特殊格式的文件,然后以加密签名的方式发送给用户。然后在使用时,出示这些凭证即可按照类似物理凭证的方式进行使用。这给了类似电影院和餐馆这 样的地方很多机会,可以利用PassKit进行售票系统或者优惠系统的开发,来引入更方便的购票体系,争取更多的客户。当然,现在还只能是当做物理凭证的 补充来使用,我始终相信当iPhone里加入NFC模块以后,Passbook将摇身一变,而你的iPhone便理所当然的成了电子钱包。
4、Game Center
这个iOS4引入的东东一直不是很好用,iOS6里Apple终于对这个体系进行了一些升级。简单说就是完善了一些功能,主要是联机对战匹配的东西,不过 我依然不看好…想当时写小熊对战的时候曾经想使用GameCenter的匹配系统来写,结果各种匹配和网络的悲剧,导致白白浪费了一个月时间。而像水果忍 者这类的游戏,使用了GameCenter的对战系统,但是也面临经常性的掉线之类的问题,可以说游戏体验是大打折扣的。虽然iOS6里新加了一些特性, 但是整个机制和基本没有改变,因此我依旧不看好Game Center的表现(或者说是在中国的表现,如果什么时候Apple能在中国架GameCenter的服务器的话也许会有改善)。
不过值得注意的是,Mountain Lion里也加入了GameCenter。也就是说,我们在以后可能可以用iOS设备和Mac通过GameCenter进行联机对战,或者甚至是直接用 Mac和Mac进行联机对战。这对于没有自己服务器/自己不会写服务器后端/没有精力维护的个人开发者提供了很好的思路。使用GameCenter做一些 简单的网络游戏并不是很难,而因为GameCenter的特性,这个成本也将会非常低。这也许会是以后的一个不错的方向~
5、提醒
自带的提醒应用得到了加强,Apple终于开放了向Reminder里添加东西和从中读取的API(Event Kit框架),以及一套标准的用户界面。这个没太多好说的,To-Do类应用已经在AppStore泛滥成灾,无非是提供了一个反向向系统添加list的 功能,但是专业To-Do类应用的其他功能相信Apple现在不会以后也不想去替代。
6、IAP
IAP(应用内购买)现在能直接从iTunes Store购买音乐了。这配合iTunes Match什么的用很不错,但是和天_朝用户无关…首先是iTunes Store在天_朝不开,其次是要是我朝用户什么时候具有买正版音乐的意识的话,我们这些开发者可能就要笑惨了。
7、Collection Views
不得不说Apple很无耻(或者说很聪明)。”会抄袭的艺术家是好的艺术家,会剽窃的艺术家是优秀的艺术家”这句话再次得到了诠释。基本新的 UICollectionView实现了PSCollectionView的功能,简单说就是类似Pinterest那样的”瀑布流”的展示方式。当然 UICollectionView更灵活一些,可以根据要求变化排列的方式。嗯..Apple还很贴心地提供了相应的 VC:UICollectionViewController。
可能这一套UI展现方式在iPhone上不太好用,但是在iPad上会很不错。不少照片展示之类的app可以用到.但是其实如果只是瀑布流的话估计短时间内大家还是会用开源代码,毕竟only for iOS6的话或多或少会减少用户的..
8、UI状态保存
Apple希望用户关闭app,然后下一次打开时能保持关闭时的界面状态。对于支持后台且不被kill掉的app来说是天然的。但是如果不支持后台运行或 者用户自己kill掉进程的话,就没那么简单了。现在的做法是从rootViewController开始把所有的VC归档后存成NSData,然后下次 启动的时候做检查如果需要恢复的话就解压出来。
每次都要在appDelegate写这些代码的话,既繁杂又不优雅,于是Apple在iOS6里帮开发者做了这件脏活累活,还不错~其实机理应该没变,就是把这些代码放到app启动里去做了..
9、自动布局(Auto Layout)
AutoLayout功能将允许开发者限制性的定义UI的设计元素。摆脱原有的固定格式的UI设计思路,AutoLayout也允许那些设计元素转向一个优先的设计原则,左边的按钮距离右边的按钮有一定距离。
这个功能是伟大的,但是对新的iPhone有什么影响呢?
开发者将可以流体化整个UI设计过程,而AutoLayout的功能可能不仅仅是这些。它更多的是较灵活,IOS的开发领头人NelsonGauthier也同意这样的论点,而且可以在两个模式中自由转换。
目前我们还没有更多的证据佐证我们的观点:AutoLayout对开发者的好处是无限的。但是在本地化市场的设计方面功能强悍。Apple把中国作为一个 重要的市场,AutoLayout也更加的简化本地的软件应用。如:AutoLayout允许开发者容易的更换UI设计和语言格式,而更贴心的一些必备的 小导航图标是收到用户的喜欢的。
10、数据隐私
自从之前Apple被爆隐私门以后,就对这个比较重视了。现在除了位置信息以外,联系人、日历、提醒和照片的访问也强制需求用户的允许了。对普通开发者影 响不大,因为如果确实需要的话用户一定会理解,但是可能对于360之流的流氓公司会造成冲击吧,对此只要呵呵就好了..= =?
11、FrameWork增强
iOS6对下面这些Framework都做了不同程度的增强,具体内容,可以去参考相应的帮助文档:
UIKit Framework
OpenGL ES
Media Player Framework
Image IO Framework
Image IO Framework
iAd Framework
Foundation Framework
External Accessory Framework
Event Kit Framework
Core Video Framework
Core Location Framework
Core Bluetooth Framework
Core Audio
AV Foundation Framework
Accelerate Framework