watchOS 开发 - 初体验(使用 IB 添加 Label)


编译环境

xcode 9.3

watchOS 4.3

写于2018年9月15日


一、创建项目

使用xcode 创建 project,选到watchOS 页,第一个就是

这里写图片描述


创建成功后,会发现project 有三部分,targets 中包含了 iOS app 之外两个 target;
这两个target的bundleID后缀,在 iOS App bundleID 后面分别增加了:

  • .watchkitapp
  • .watchkitapp.watchkitextension

这里写图片描述

这一堆文件还是让人摸不着头脑,只能慢慢尝试吧。
一些资料中如此说:苹果将 Watch App作为iOS App的延伸和拓展

  • Watch App 部分位于用户的Apple Watch上,它目前为止只允许包含Storyboard文件和Resources文件。在我们的项目里,这一部分不包括任何代码。
  • WatchKit Extension 部分位于用户的iPhone安装的对应App上,这里包括我们需要实现的代码逻辑和其他资源文件。

运行时,可选中 Watchkit App 来运行。

这里写图片描述

然后会出现表盘和 iPhone模拟器

这里写图片描述


二、查看表盘,添加label

可以发现Storyboard中包含三块表盘,Interface Controller、Static Interface、Dynamic Interface。

这里写图片描述


先直接从右侧拉取label 到这三个表盘上
拖拽的时候,可以感觉到,这个label 好像被拖到一个列表上,是有序的排列;
可以放大label,但无法任意放置 label 的位置。
这里写图片描述


运行,可以发现显示的label 是最上方那块;
这里写图片描述


三、连线

选中label,点击右上角按钮,右侧出现关联的代码文件;
拖拽label 到 Interfacecontroller.m 中

这里写图片描述


修改lebel 内容,再次运行,可以发现效果如下:

这里写图片描述


四、InterfaceController

可以把InterfaceController 理解为 UIViewController
但与UIViewController的区别是:

  • InterfaceController最终继承的是NSObject;
  • InterfaceController不会管理Watch APP的应用界面;
  • Watch APP的界面是直接由Watch Kit来管理;

创建项目后,这个文件会自动产生三个方法:

  • awakeWithContext
  • willActivate
  • didDeactivate

对 awakeWithContext 打断点,会发现,运行项目并不会立即调用到 awakeWithContext,一般需要等上几秒;


apple Watch启动原理

用户点击Watch APP后,与Watch匹配的iPhone会启动extension,然后与Watch建立连接,产生通信


五、问题

如何用纯代码添加 label 呢?

可以发现跟iOS、macOS 不一样的是,这个controller 没有 view;
label 也不能设置frame;

这里写图片描述


在 github 上搜索 WKInterfaceLabel 也没有纯代码构建的;
那么如何纯码添加呢?

这里写图片描述


六、参考:

  • 枣泥布丁:WatchOS系统开发大全
    http://www.cocoachina.com/ios/20170728/20052.html?utm_source=itdadao&utm_medium=referral

  • 夜幕下的超人:watchOS开发—初步认识
    https://www.cnblogs.com/zengshuilin/p/5791263.html

  • 更多watchOS 项目:
    https://www.cocoacontrols.com/controls?language=1-objective-c&platform_id=watchos
    https://github.com/search?q=watchos


七、watchOS 相关视频教程

  • iOS-健康App系列之迈出你的第一步(OC)
    https://www.imooc.com/learn/511

  • 一起来做价值百万的Apple Watch App:分歧终端机 (Swift)
    https://www.imooc.com/learn/242


watchOS 的 SDK 们

列表内容


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI工程仔

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值