介绍,界面,Icon,独立 App
背景
机缘之下,追踪了一个 iWatch icon 没有更新为最新的问题。在开发环境测试了各种情况,iWatch 上的手机图标都可以被正确的更新。与 Apple 的开发者几经讨论,最后发现问题可能是在 App 端使用的图片有 alpha 图层。所幸问题得以被解决,也是同事了解了一下关于 iWatch 的应用开发。
图标
基于应用的 iWatch App 图标是从 App 中读取和更新的,有缓存!!
WatchOS 简介
WatchOS APP 生命周期
WatchOS 有它自己的生命周期,相比 iPhone,它的启动方式更多。
- 在手表点击启动
- 通过 iPhone 互动打开
- 接受通知
- 如果 watch app 提供了表盘,而表盘需要更新数据
架构
像 iOS app 一样:二进制文件,资源文件,代码组成了整个项目。出了主 app, 你还可以创建一些其他功能:
- 小组件(Glance),可以在主屏幕下滑时候展示一些其他的信息
- 通知(Notifications),定义通知的 UI,和功能
- 表盘(Complications),一个页面,用于在主屏幕显示
Watch 的一些特性
- 屏幕小,意味着可以做的事情少
- 大部分时间是熄屏的,应没有人一直抬着手表吧……
- 是独立的终端,可以做独立的事情,运动,nfc等
- 没有键盘,唯一的文本输入是语音转换
- 存储较小
基于 iOS 应用的 iWatch App
https://www.oreilly.com/library/view/swift-development-for/9781491925263/ch01.html
watchOS 应用是使用称为 WatchKit 的框架编写的。代码在手表上运行,但是由于 Apple Watch 与 iPhone 是一起打包的(稍后介绍也可创建独立的 Watch app),为 Apple Watch编写应用程序还意味着编写 iOS 应用程序。
创建 App
现在除了可以创建基于 iOS App 的 iWatch App,还能够使用 watchOS App Store 发布独立的 App。
个人的建议是,如果是基于服务器的,完全可以使用独立的 watchOS App。当然,如果你是运动健康等,最好还是采用一起开发的方式。
创建独立 watchOS App
创建独立的 WatchOS App就是在这里啦。从 Watch OS 6 支持独立的 Watch App 开发了,也有一些迁移文档,有需要的,不妨看一看~
Aha,当书写本文博客时候,已经发现 Apple 关于 SwiftUI 创建 watchOS App 的示例~ 资料之齐全完备,让我已经没必要继续写下去了~
swiftui/creating-a-watchos-app
End.
如果使用 Storyboard + OC/Swift 呢, 其实也是 OK 的,整个过程和开发普通的界面没有什么差别
创建基于应用的 iWatch App
这部分入门更简单,基本看下文档即可。
-
创建:
Target -> watchOS -> Watch App for iOS App
-
UI: 基本上是 Storyboard ,当然也可以用 code 去写,但是因为提供的 UI 控件较少,还有页面较小,布局有限制,所以基本 Storyboard 更加合适,用起来也能直观的展现 UI。
-
文件和引用: 区分文件给 watchOS target 使用即可。
创建基于应用的 iWatch App 其实已经有很多文档,例如:watchos2
最后
其实本文介绍的内容十分有限,也是因为对 WatchOS 的新的业务需求基本上很少,即使去写业务,业务也十分简单,因为能能做的事情也有限。
重要的是,watchOS 发生了很多改变,现在已经可以作为独立的终端来运行,也是让那个 iWatch 有了更多的可能。相信会有机会做更深入研究的……