Watch OS2.0开发概述

(注:尊重劳动成果,转载请注明出处 http://www.cnblogs.com/xiaochunle/p/4620230.html )

Watch OS 2.0时代

  北京时间2015年6月9日,WWDC在美国旧金山召开,Apple发布了第二代苹果婊(洋名AppleWatch)操作系统,以下简称watch os2.0。

  

  这版本最大变化或许就是你能够在watch构建原生app。不像之前的版本,watch app只能存放一些资源与界面文件,主要业务逻辑需要在iPhone上执行代码。在watch os2.0上能够通过apple开放的框架api在watch自身驻留与运行。这样带来的好处就是你的app能启动的更快,运的更流畅,而不需要每一次操作都通过watch和iPhone的蓝牙模块往返传递数据(蓝牙的带宽是硬伤)。从产品的维度来看,这的确是一次优良的改进,但从程序猿的角度,意味着需要消化的东西变得更多了。

                             

Watch OS1.0到2.0

  watch os2.0 app中包含的两个相符隔离的bundle共同协作向用户展示app内容, watch app自身包含UI呈现相关的storyboards和 resource 文件, watchKit extension中则存放业务逻辑代码和更新UI的resources。

              

  以上仅仅是架构上的变化, 但watch app 和watchKit extension 两者在watch os的分工保持一致。watch os1.0中在watchKit extension编写的业务代码迁移到watch os2.0上基本上也是可以正常跑起来的,但这时得从watch os2.0 app的整个架构的角度去思考,这样做是不是合理,而不要一味的去搬代码(始终要记住watch 2.0是一个独立的操作系统,和iPhone没半毛钱关系)。在 extension中实现的代码,必须是基于watchOS SDK,而不是ios SDK,如果apple开放的watch os2.0 api不能满足业务开发的需要,这时有个变通的方法:先在iPhone上通过调用ios sdk 拿到数据,然后再通过WatchConnectivity frameworks传递到watch上。

Watch OS1.0转向2.0

  如果决定将watch 1.0 app迁移到2.0上,必须得评估这两者完全不同的系统架构对1.0版本app架构设计带来的影响。以下问题需要慎重考虑:

  • app是否严重依赖iCloud?WatchOS2中,WatchKit extension不再被允许直接访问iCloud。此类功能都必须由配对的iOS应用完成,再传输给手表。
  • watch应用是否依赖配对的iOS应用的数据?手机上创建的数据,必须传输到手表上供手表应用使用;手表应用更改后,必须传回手机,供其备份。纵然Apple Watch有提供传输的帮助,这里也必须更新相关的数据处理代码已支持数据同步。这里,可以考虑异步同步数据,手表和手机都连接到一个共享的服务器,通过服务器来同步数据。
  • 是否要支持早期的Apple Watch版本?如果要支持初代WatchKit和WatchOS2,那么我们需要有不同的target并编译产生不同的可执行文件。这是因为watch os1.0与watch os2.0是两个完全不同的系统架构,共享代码远比分开编译target的代价大的多。

Watch OS2.0中的frameworks

   目前apple针对extensions开放的系统库如下:

                            

  其中红框中的frameworks是watch SDK特有的库,其他的frameworks在ios SDK 都可以找到。相信apple后面将开放更多的api,给予开发者更多的权限,丰富watch app类型。

 Watch OS2.0中的Networking

  watch os2.0支持的网络技术包括:

  • WatchKit extensions可使用 NSURLSession object对象直接连接网络。watch SDK中NSURLSession类开放的属性和函数功能和ios SDKNSURLSession类无异,包括上传和下载文件的能力。
  • Watch Connectivity framework支持watch app和ios app之间的双向通信。

 2007年,如果你错过了第一代iPhone的开发,八年后,不要再错过Apple Watch这块新平台了。

原文地址:https://www.cnblogs.com/xiaochunle/p/4620230.html