WatchOS系统开发大全(2)-WatchApp运行原理

WatchOS与iPhone交互框架

1.1-简介

  • 我们都知道,一个App主要由两部分组成,一个是界面UI部分,一个是代码逻辑部分
  • 在Wach OS1.0的Watch App中,界面UI是编译在App Watch上,代码逻辑编译在iPhone上
  • 那么Watch App是如何运行的呢?

1.2-WatchOS1.0框架图

WatchOS系统开发大全(2)-WatchApp运行原理_第1张图片
0501.png
  • Watch App 部分位于用户的Apple Watch上,它目前为止只允许包含Storyboard文件和Resources文件。在我们的项目里,这一部分不包括任何代码。

  • WatchKit Extension 部分位于用户的iPhone安装的对应App上,这里包括我们需要实现的代码逻辑和其他资源文件。

  • 这两个部分之间就是通过 WatchKit进行连接通讯。

1.3-WatchOS2.0之后框架图

WatchOS系统开发大全(2)-WatchApp运行原理_第2张图片
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。
WatchOS系统开发大全(2)-WatchApp运行原理_第3张图片
0001.png

1.5-Watch OS2.0 中的 frameworks

WatchOS系统开发大全(2)-WatchApp运行原理_第4张图片
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 这块新平台了

你可能感兴趣的:(WatchOS系统开发大全(2)-WatchApp运行原理)