金田github示例源码

自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]];

版权所有,转载须注明作者(金田)及原文出处(原文

iOS 9之WatchKit for WatchOS 2的更多相关文章

  1. [App Store Connect帮助]六、测试 Beta 版本(1)TestFlight Beta 版测试概述(iOS、Apple TVOS、watchOS)

    TestFlight Beta 版测试让您可以分发您 App 的 Beta 版构建版本给测试员并收集反馈.您可以在您的 App Store Connect 帐户中一次为至多 100 个 App 启用 ...

  2. IOS 开发教程

    http://www.raywenderlich.com/category/ios http://www.raywenderlich.com/50310/storyboards-tutorial-in ...

  3. 30 分钟开发一个简单的 watchOS 2 app <oneVcat>

    Apple Watch 和 watchOS 第一代产品只允许用户在 iPhone 设备上进行计算,然后将结果传输到手表上进行显示.在这个框架下,手表充当的功能在很大程度上只是手机的另一块小一些的显示器 ...

  4. IOS开发基础知识--碎片33

    1:AFNetworking状态栏网络请求效果 直接在AppDelegate里面didFinishLaunchingWithOptions进行设置 [[AFNetworkActivityIndicat ...

  5. iOS真机调试引入第三方库(如友盟等)编译时候,出现错误提示

    用Xcode 7 beta 3在真机(iOS 8.3)上运行一下工程,结果发现工程编译不过.看了下问题,报的是以下错误: MARK:解决方法:在building Setting 中设置bitCode ...

  6. iOS:BitCode的介绍

    一.什么是BitCode?作用是什么? Bitcode is an intermediate representation of a compiled program. Apps you upload ...

  7. iOS开发:bitcode介绍和使用cocoapods出现“target overrides the `OTHER_LDFLAGS`……”的解决方案

    在开发中,不免需要引入第三方库,但是因为库的问题,会发生很多错误.如: 1.因为一些第三方库不包含bitcode就会报错: 一次使用xcode7.1时,发现编译失败,报错信息: umeng messa ...

  8. Apple Watch: WatchKit 应用程序要点

    Apple Watch: WatchKit 应用程序要点 本文译自:Apple Watch: WatchKit App Essentials WatchKit 应用程序架构 上一篇文章简单介绍了 Wa ...

  9. App适配iPhone 6/ Plus和iOS 8:10条小秘诀

    App适配iPhone 6/ Plus和iOS 8:10条小秘诀   iPhone 6iOS 8适配   (原文:raywenderlich 作者:Jack Wu 译者:@TurtleFromMars ...

随机推荐

  1. QT 仓库管理系统 开放源代码

    IT 要走多久,要怎么走. IT 要走多久,要怎么走.这些问题,在我已经快毕业了一个年头的如今,又又一次浮如今我的脑海里.一边是工作的了了模块,一边是能够自己无聊打发的时间.这不是我当初要的路,如今的 ...

  2. Linux入门基础 #6:Linux用户基础

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  3. C#获取文件夹下指定格式的所有文件

    C#获取文件夹下指定格式的所有文件的方法,虽然很简单,但还是分享一下吧,用到时可以稍加修改和优化就可以使用. 获取指定目录下所有文件 //最要使用 System.IO.Directory.GetFil ...

  4. IntelliJ IDEA 中module的dependencies是其它module时的注意事项

    Dependencies on other modules If a module (module A) depends on another module (module B), IntelliJ ...

  5. udp协议基础(转自疯狂java讲义)

    第17章  网络编程 17.4  基于UDP协议的网络编程 UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket,但这两个Socket之间并没有虚拟链路,这两个Socket只是发 ...

  6. C#中如何获取系统环境变量等

    C#中获取系统环境变量需要用到Environment 类. 其中提供了有关当前环境和平台的信息以及操作它们的方法.该类不能被继承 以下代码得到%systemdrive%的值,即“C:” string ...

  7. GridView、Repeater获取当前行号

    GridView: <%# Container.DataItemIndex+1 %> Repeater:<%# Container.ItemIndex+1%>

  8. 解决CENTOS7虚拟机更改静态IP无法启动

    在linuxman的编辑中,未出现问题.反复的查看原因未果,后查明是虚拟机所致.1.在开启网络时,有错误提示:Restarting network (via systemctl):  Job for ...

  9. ORACLE SQL单行函数(三)【weber出品必属精品】

    16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...

  10. Jquery中dialog属性小记

    代码如下: $('#dialogDiv').dialog( { hide:true, //点击关闭是隐藏,如果不加这项,关闭弹窗后再点就会出错. autoOpen:false, height:380, ...