watchOS app开发概论

watchOS app功能
  • Glance:快速浏览页面,手势上滑拉出(3之后废弃了)
  • Complication:复杂功能,也就是在表盘上为自己的app添加入口
  • Notification:通知,当iPhone锁屏时,接收push
  • watchOS app:运行在watch上的应用

通常我们使用手表是为了获取最关心的内容,所以在设计时注意一下几点
1、设计的功能应该是单个任务,因为用户抬起手腕看手表,是想获取最关心的某项信息
2、功能应该是可以快速交互,因为watch的互动是以秒为单位,必须迅速呈现信息
3、watch上的功能应该具有独立性,独立的watch应该不依赖iphone app,在watchOS 6之后,可以设计一个仅在Apple Watch上可用的app,也可以设计一个可以(但不需要)您的iPhone应用程序的应用程序。

一、watchOS project的类别
  • 仅在watchOS上运行的独立watchOS app

    用户可以选择是否安装iOS app、watchOS app或者两个都安装,对于如果创建独立的watchOS app以及如果将现有的依赖iOS的watchOS app转换为独立的watchOS app可以参考此官方链接

  • 依赖iOS补充 app的依赖watchOS app

    此类型的watchOS app需要和iOS app有互动时才会创建,它只有依赖iOS app才可以正常运行,但是watchOS 5之前,所有的watchOS app都是依赖watchOS app,watchOS 6.2之后,带有watchOS app的iOS app在app store上下载安装是通用的,创建依赖iOS app的watchOS app参考此官方链接

1、仅在watchOS上运行的独立watchOS app

具体的创建参考此官方链接,独立的watchOS app的bundle ID是自己独立的ID
watchOS app开发概论

2、依赖iOS补充 app的依赖watchOS app

具体的创建参考此官方链接,下面我们看一下工程结构,创建好之后的包含watchOS app和iOS app的工程的工程结构如图所示
watchOS app开发概论
我们可以看到此时工程结构基本分成三部分

  • iOS app:就是运行在我们iPhone上的app,包含主app的业务功能
  • watchKit App:包含watchOS app的storyBoard和其assets的资源包(bundle)
  • watchKit Extension:包含watch app的代码,可以看到xcode自动创建的interface、notification和complication的相关文件就放在这块

watchKit App和watchKit Extension的bundle ID必须和依赖iOS App的bundle ID,和其匹配。开发是在watchKit app中编辑storyboard,并且在watchKit extension中开发代码

二、watchOS App的架构

无论独立的watchOS App还是依赖iOS App的watchOS app,watchOS app都包含watchKit App和watchKit Extension,watchKit App安装在watch上,负责展示页面,watchKit Extension安装在iphone上负责业务逻辑,二者通过watchKit通讯,如下图所示。
watchOS app开发概论当用户安装并打开watchOS app,watchKit app加载storyBoard展示watchOS app的相关页面,同时向iOS app请求启动watchKit extension,完成相应的业务逻辑,具体流程参考下图
watchOS app开发概论

三、watchOS app功能开发概论

现在watchOS app包含的功能有Glance(3之后删除)、notification、complication,下面我们看一下开发notification、complication功能的相关知识

1、complication(复杂功能)开发的相关知识

complications可以使我们在watch的表盘增加自己watchOS app的入口,但是空间有限且尽可能覆盖不同类型的表盘,创建complications可参考官方文档,在创建watchOS app时勾选complication,xcode将创建并且配置complication的数据源,数据源包括配置complication的基本的.h/.m文件、填充timeline、提供占位的资源以及创建compliction使用的assets,为complications添加占位资源可参考官方文档,可以使用静态方式添加也可以使用动态方式添加

2、notification

notification有两种展现形式:short looks和long looks,short looks接收到notificatiion时手腕抬起显示,手腕放下消失;long looks显示有两种情况,一种是用户看到short looks时手腕一直抬起,long looks将展示;另一种是用户点击short looks。
watchOS app开发概论

notification的展示界面有两种:static界面dynamic界面,static界面仅展示通知内容和图像,dynamic界面可以展示丰富内容。开发者可根据需求自定义这两种界面的content区域(不能改变界面的结构),这两种界面的载入模式如下图
watchOS app开发概论
了解界面的种类之后,我们需要了解watch的页面的生命周期,如下图
watchOS app开发概论

参考:https://www.cnblogs.com/zy1987/p/4352548.html