自AppleWatch发行的同时就可以为AppWatch开发相应的应用程序,不过最初的版本,能开发的功能极为有限,所以也只是有少数的App厂商为Apple定制了App,所以迄今为止,Apple Store上面,看得到的Apple Watch应用也为数不多,多数都是直接跟Apple Watch所带的传感器有关的应用,如医疗类、通讯、提醒、运行类等。
然此次,Apple 发行的Watch OS 2给了App开发商更多的发展空间,可以使用Xcode 9为AppleWatch定制功能更为丰富的app。下面就让我们一起动手开发一个简单的AppleWatch App吧
图1 创建Watch App
图2 Watch App 界面开发
图3 App运行效果图
上面只是做了一个简单的界面开发,具体的可以看github示例源码,下面就跟着Cocoon Jin一起来看下,此次的Watch OS 2具体有新增了哪些亮点功能:
图4 WatchKit 新支持功能
从上图我们可以看到,此次Apple Watch OS2有给用户提供Digital Crown、Layout and Animation、Taptic Engine、Audio and Video、Alerts、PassKit等功能支持。
下面我们就一起来看下,这些功能具体的表现是什么样子
说到AppleWatch,可能最先想到的就是AppleWatch的时钟界面,第一代AppleWatchOS并没有提供相应的接口,来支持App开发商对表盘进行自定,让大家惊喜的是,这次WatchOS2提供了大家相应的接口。
图5 系统默认表盘
图6 Apple Watch OS 2 App开发可自定部分
这里只提供这一个表盘做为示例,其它的部分详见Apple官方文档。
另外一个亮点的部分就是 Audio and Video 部分,WatchOS 2可以在AppleWatch上面播放音乐和Movie。
图7 Watch App内,Audio播放控制界面
图8 Watch OS 2,视频播放控制界面
此外,现在WatchOS 2也提供了像iOS里面的那种系统提示窗口,示例如下:
图9 App 内弹出的提示窗口
通过下面的代码(详情),就可以弹出像iOS里面的AlertView一样的提示窗口,不过目前选择不同的按钮,在回调里面所执行的事件执行无效,期待Release 版本SDK可以修复这个问题。
__block WKInterfaceButton *button = self.button;
WKAlertAction *englishAction = [WKAlertAction actionWithTitle:@"English"
style:WKAlertActionStyleDestructive
handler:^{
[button setTitle:@"Kdan Mobile"];
}];
WKAlertAction *chineseAction = [WKAlertAction actionWithTitle:@"中文"
style:WKAlertActionStyleDestructive
handler:^{
[button setTitle:@"凯钿软件"];
}];
[self presentAlertControllerWithTitle:@"Kdan Mobile"
message:@"欢迎阅读Cocoon Jin iOS9系列文章!"
preferredStyle:WKAlertControllerStyleAlert
actions:@[englishAction, chineseAction]];