金田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. The method of type must override a superclass method解决方式

    工程导入myeclipse时,出现问题提示:The method of type must override asuperclass? annotation:@Override的原因 查阅了一下资料, ...

  2. 日积月累:ProguardGui进行jar包代码混淆

    前面文章<Proguard进行源代码混淆>讲解过怎么使用Proguard工具对Android的源代码进行混淆的方法(感兴趣的朋友可以访问:http://blog.csdn.net/p106 ...

  3. ubuntu12.04软件中心打开错误和 ubuntu 包管理之“:E: 读错误 - read (5: 输入/输出错误) E: 无法解析或打开软件包的列表或是状态文件。”的解决

    执行ubuntu软讲中心时打不开.老是崩溃,从终端也下载不了软件. 执行包管理的update或者search等等会报错: E: 读错误 - read (5: 输入/输出错误) E: 无法解析或打开软件 ...

  4. js中的for...in循环机制

    1) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.o ...

  5. mysql myisam 锁表问题<转>

    转自http://yafei001.iteye.com/blog/1841258 锁是计算机协调多个进程或线程并发访问某一资源的机制 .在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用 ...

  6. Windows与自定义USB HID设备通信说明.

    1 .   所使用的典型 Windows API CreateFile ReadFile WriteFile 以下函数是 DDK 的内容: HidD_SetFeature HidD_GetFeatur ...

  7. css中的垂直居中方法

    单行文字 (外行高度固定) line-height 行高, 将line-height值与外部标签盒子的高度值设置成一致就可以了. height:3em; line-height:3em; 多行文字 图 ...

  8. sql Server 常用存储过程的优化

    优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会返回相应的影响行数.使用SET NOCOUNT ON ...

  9. WCF 接收我服务的 HTTP 响应时发生错误

    错误内容: System.ServiceModel.CommunicationException: 接收对 https://xx.com/xx.svc的 HTTP 响应时发生错误.这可能是由于服务终结 ...

  10. Android--------使用gson解析json文件

    ##使用gson解析json文件 **json的格式有两种:** **1. {}类型,及数据用{}包含:** **2. []类型,即数据用[]包含:** 下面用个例子,简单的介绍gson如何解析jso ...