WatchOS系统开发大全(2)-WatchApp运行原理
WatchOS与iPhone交互框架
1.1-简介
- 我们都知道,一个App主要由两部分组成,一个是界面UI部分,一个是代码逻辑部分
- 在Wach OS1.0的Watch App中,界面UI是编译在App Watch上,代码逻辑编译在iPhone上
- 那么Watch App是如何运行的呢?
1.2-WatchOS1.0框架图
0501.png-
Watch App 部分位于用户的Apple Watch上,它目前为止只允许包含Storyboard文件和Resources文件。在我们的项目里,这一部分不包括任何代码。
-
WatchKit Extension 部分位于用户的iPhone安装的对应App上,这里包括我们需要实现的代码逻辑和其他资源文件。
-
这两个部分之间就是通过 WatchKit进行连接通讯。
1.3-WatchOS2.0之后框架图
0503.png-
Watch App 部分位于用户的Apple Watch上,它目前为止只允许包含Storyboard文件和Resources文件。在我们的项目里,这一部分不包括任何代码。
-
WatchKit Extension 部分位于用户的Watch安装的对应App上,这里包括我们需要实现的代码逻辑和其他资源文件。
- 在1.0中,这一部分是位于iPhone中的
-
这两个部分不再通过Watch Kit进行通讯,而是一个新的框架Watch Connectivity框架。
- 在1.0中,这两部分是通过Watch Kit框架进行通讯的。
1.4-Watch Kit
- WatchKit用来为开发者构建Apple Watch App。它所有的类如下,其中最上层的类继承于NSObject。
1.5-Watch OS2.0 中的 frameworks
0504.png-
其中红框中的 frameworks 是 watch SDK 特有的库,其他的 frameworks 在 ios SDK 都可以找到。相信 apple 后面将开放更多的 api,给予开发者更多的权限,丰富 watch app 类型
-
ClockKit是自定义表盘的框架
-
Watch Connectivity是Watch与iPhone进行双向通讯的框架
1.5.2-Watch OS2.0 中的 Networking
-
watch os2.0 支持的网络技术包括:
-
WatchKit extensions:可使用 NSURLSession
object 对象直接连接网络。watchSDK 中 NSURLSession 类开放的属性和函数功能和 ios
SDKNSURLSession 类无异,包括上传和下载文件的能力 -
Watch Connectivity framework 支持 watch app 和 ios app 之间的双向通信。
-
-
由于Watch OS2.0的网络通讯与iPhone是完全一致的,所以本章节我们不做过多讲述
-
2007 年,如果你错过了第一代 iPhone 的开发,八年后,不要再错过 Apple Watch 这块新平台了