金田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. freemarker的使用心得

    freemarker眼下尽管使用的公司不多,可是在某些时候就必须使用,当须要遍历json数据的时候,眼下市面上的好多显示组件都达不到要求唯一能用的也就仅仅有freemarker了.在java里使用的模 ...

  2. Android中使用ListView绘制自定义表格(2)

    上回再写了<Android中使用ListView绘制自定义表格>后,很多人留言代码不全和没有数据样例.但因为项目原因,没法把源码全部贴上来.近两天,抽空简化了一下,做了一个例子. 效果图如 ...

  3. D3画图学习一

    一.D3画图简介 D3 是最流行的可视化库之一,它被很多其他的表格插件所使用.它允许绑定任意数据到DOM,然后将数据驱动转换应用到Document中.你可以使用它用一个数组创建基本的HTML表格,或是 ...

  4. 为什么要配置path环境变量?

    一:关于path环境变量--为了在任意目录下,使用javac/java命令 第一种配置方法: 通过配置path环境变量,我们可以使某个程序,比如javac.exe,在任意目录下都可以运行,而不用跑到j ...

  5. 几个常用的ps命令

    1. ps aux If you are looking for a short summary of the active processes, use  ps aux [root@rhel7 tm ...

  6. SpringMVC03controller中定义多个方法

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. Lesson 7: Responsive Typography In Action

    Lesson 7: Responsive Typography In Action 排版一直都是设计和传达的基础.虽然现在的设计和印刷品设计差别很大,但核心原则还是不变的. Article 1: Bo ...

  8. C# - Excel - Microsoft Access 数据库引擎找不到对象

    我几乎要无语了,疯掉了,以为是office本身的问题,换了好多次office2007,安装又不顺利,换到了office2010,想想大部分应该兼容2007,所以用着office2010了. 甚至差点要 ...

  9. JavaScript 超类与子类 继承

    //超类和子类 继承的实现 function R(w, h) { var date = new Date(); this.width = w; this.height = h; this.create ...

  10. C++朝花夕拾【更新】

    C++拾遗 更新一些平时遇到的小细节: 1.关于类的无参构造函数和带有全部默认参考值的构造函数的区别 书上说的是带有全部默认值的构造函数就是无参构造函数,私以为不以为然,来看下边这个例子: #incl ...