iOS开发者不可错过的watchOS 2 开发技巧

移动开发 iOS
话说今年我只写了一篇文章,还是年初 1 月份的时候了(Apple Watch: WatchKit 应用程序要点),其实我一直都想写一些文章出来,但是一直没有码字发文,主要是由于我太懒。坑倒是挖了不少,包括 watchOS 2、持续集成等相关的文章(Java Web、iOS 和 Android 方面的)等。可能后面我会先填一些坑。

[[152787]]

花絮

话说今年我只写了一篇文章,还是年初 1 月份的时候了(Apple Watch: WatchKit 应用程序要点),其实我一直都想写一些文章出来,但是一直没有码字发文,主要是由于我太懒。坑倒是挖了不少,包括 watchOS 2、持续集成等相关的文章(Java Web、iOS 和 Android 方面的)等。可能后面我会先填一些坑。

有些东西放下的时间久了,就会慢慢的忘却,这是多么令人沮丧的事情。

今天就先来谈谈关于 watchOS 2 的一些东西吧。

 

watchOS 2

 

苹果早在 2015 年 6 月 9 日,就向开发者发布了 watchOS 2,但是到今天(2015 年 10 月 17 日)还没有向消费者公开,目前只能拥有苹果开发者账号的人才能够安装。不过已经是 pre-release 版了,相信用不了多久就会向普通消费者公开。

 

苹果在推出 Apple Watch 之初,实际上是饱受争议的,即使现在,各种争议也不少。有的不看好 Apple Watch,说它的续航能力是***的软肋,而有的人又认为它的屏幕限制了 Apple Watch 的应用场景,吧啦吧啦,反正是各种吐槽。而另外一群人则非常看好 Apple Watch 的前景,并相信 Apple Watch 如同苹果在 2007 年发布的 iPhone 一样,会再次改变世界。

就我个人而言,我还是比较看好 Apple Watch 的,通过如下 2 个场景,你就会发现 Apple Watch 非常实用:

支付场景:你去超市购物,到收银台结算的时候,传统的方式为付现或者刷卡,有部分人群可能会用手机支付软件,进行扫码支付。不过,这还不是***付费方式,即使用手机支付,也需要将手机从兜里面掏出来。如果使用 Apple Watch 的话,那么只需要抬起手腕,打开支付 App 就可以进行支付,这不是神话,使用 Apple Watch 确实可以做到,并且已经做到了。

 

运动场景:经常跑步的人们在跑步过程中,经常需要做计时、速度、距离等运动数据的统计,并实时反馈,一般人们用手机上的运动软件比较多,每次看速度、时间等都是从兜里面掏出手机,然后解锁屏幕,再看相关运动数据。虽说现在的许多手机软件有语音之类的提醒,但用户体验并不是很好。如果用户使用了 Apple Watch,那么想要看运动数据的时候,只需要抬起手腕,就可以查看相关数据,非常方便。

 

当然,还有很多应用场景在 Apple Watch 上都能带来***的体验,例如提醒类应用(天气预报、来电提醒、用药提醒)、健康类应用(实时反馈个人身体健康数据)等,在这里就不一一罗列了。

 

WatchKit 架构变化

 

在 watchOS 1 做过开发的人,都应该熟悉如下这张图:

 

如上图所示,在 watchOS 1 上面做开发,Apple Watch 应用程序由两部分构成:Watch App 和 WatchKit 扩展。

Watch App 是一个运行在 Apple Watch 中的可执行文件。它包括 storyboard 和渲染屏幕时所需的资源文件。

WatchKit 扩展则是运行在 iPhone 上的可执行文件。包括管理应用程序界面的逻辑代码,以及处理用户的交互操作。

想要了解 watchOS 1 中更详细的内容,可以看我博客上的这篇文章:Apple Watch: WatchKit 应用程序要点)。

那么,在 watchOS 2 中,WatchKit 的架构发生了比较重大的变化,我们先来看看下面这张图:

 

从上面的图中,可以很明显地看出,苹果把原来运行在 iPhone 手机上的 WatchKit Extension 移到 Apple Watch 中了。这将直接带来如下改变:原来只存放一些资源和 Storyboard 的 Watch App,现在程序的业务逻辑部分(也就是代码执行部分)也被放到 Watch App 中。这样的话,程序给用户的体验会更好,Watch App 的运行可以完全独立于 iPhone 了。值得注意的是,Apple Watch 2 中还支持 WiFi,所以 Apple Watch 可以通过 WiFi,直接获取一些网络数据等。并且 Apple Watch 无法处理的一些业务,可以通过 Connectivity 框架,请求 iPhone 进行处理,并将结果返回给 Apple Watch。

 

[[152788]]

另外,在 watchOS 2 中,有更多的权限可以对硬件资源进行访问,例如麦克风,加速器表冠等。这也给我们开发人员在开发的时候带来了***想象,***可能。

其实 watchOS 2 中带来了许多改进,这里就不进行详细的介绍,大家如果感兴趣的话可以查阅本文***提供的一些参考资料。

 

开发者需要注意的一些事情

 

 

[[152789]]

其实用过 watchOS 2 中的 WatchKit,会发现,对于开发者来说,就 Xcode 的工程结构而言,开发编码上没有太大的变化。苹果虽然对框架做了重大的调整,但是也考虑了开发者的跟进成本,开发者跟 watchOS 1 中的开发基本一样,WatchKit App 中依旧是存放资源和 Storyboard,而 WatchKit Extension 中还是做相关业务逻辑的编码。

所以开发者在跟进 watchOS 上对于框架上来说只需要理解各个模块是运作原理,然后编码还是原来的味道,熟悉的味道。

当然,开发者在进行 watchOS 2 开发或迁移时,还有一些需要注意的地方:

关于 迁移到 watchOS 2 上的开发,可以看看苹果官网提供的内容:watchOS 2 Transition Guide 。另外来自 springxiao 的这篇文章也提及了一些开发注意事项,值得一读:Watch OS2.0开发概述 。

 

 

 

责任编辑:chenqingxiang 来源: 破船之家
相关推荐

2015-07-06 10:09:33

iosFoundationNSHashTable

2015-07-20 09:16:42

iOSWatchKit开发

2019-07-23 09:00:00

vuejavascript前端

2015-07-07 14:05:22

iOS技巧

2015-07-07 10:15:56

iOSUIVisualEffweak

2016-12-01 08:36:18

编程云环境云战略

2014-04-04 17:13:13

iOSAndroid开发技巧

2013-08-28 10:15:24

iOS开发者工具

2022-07-18 10:15:16

Python

2015-04-14 09:33:17

WatchKitAPP

2017-03-31 20:16:53

华为开发者联盟

2015-07-09 10:22:46

watchOS 2测试开发者

2014-08-08 10:12:44

IRC

2017-01-19 21:45:27

iOS开发者账号

2019-11-14 14:44:32

开发者工具

2015-07-22 10:31:56

苹果更新WatchOS2

2012-06-13 01:23:30

开发者程序员

2023-10-17 18:03:30

Code更改函数

2011-12-13 20:47:33

iOS 5.1

2023-06-07 06:54:36

iOS 17苹果
点赞
收藏

51CTO技术栈公众号