ios - 如何为我现有的 Xcode 项目添加复杂功能?

标签 ios watchkit xcode7-beta5 apple-watch-complication

如何为现有的 Xcode 7 项目添加复杂功能?

查看 WWDC 视频 2015 session 209,显示添加复杂功能的方法是创建一个新项目并单击 Include Complication。这适用于那种情况,但我如何将它们添加到现有项目中?

enter image description here

我在 XCode 对象选择器中找不到复杂 Controller (见下文):

enter image description here

为什么会这样??

最佳答案

添加一个新的 temp watch 扩展目标并选中 complication 复选框。将复杂功能扩展属性从这个新的 info.plist(CLKComplicationSupportedFamilies、WKExtensionDelegateClassName 和 CLKComplicationPrincipalClass)复制到您的旧 watch 扩展 info.plist 中。执行此操作后,您将看到并发症家族列表。

我还将 ExtensionDelegate 和 ComplicationController 类移动到旧 watch 扩展中,并将目标成员资格从新 watch 扩展更改为旧 watch 扩展。

在旧 watch 扩展 Assets 文件中右键单击并添加复杂功能图像集。

还有“tom_witkin 2015 年 7 月 23 日上午 8:50 (回应布雷维尔) ClockKit 框架仅适用于 watchOS 2,不适用于 iOS。因此,扩展程序在 iPhone 上运行的现有 WatchKit 应用程序不支持复杂功能。”

因此,当从 wos1 移动到 wos2 时,建议的build设置也会发生变化(如果在编译期间有警告),并在旧的扩展程序和 watch 应用程序build设置中设置 WATCHOS_DEPLOYMENT_TARGET = 2.0。

如果旧 watch 扩展不存在,请添加 TARGETED_DEVICE_FAMILY = 4。

关于ios - 如何为我现有的 Xcode 项目添加复杂功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32139836/

相关文章:

ios - 限制拾取器移动范围

ios - 命令/Applications/Xcode-beta.app/Contents/Developer/usr/bin/actool 失败,退出代码为 255

swift - 是否禁止协议(protocol)类型的 inout 变量?

ios - 在编辑 UITableViewCell 时更改标签颜色

ios - 在异步加载时为 cell.imageview 设置动画

Android:强制主运行循环在当前执行线程完成之前运行

ios - 星巴克存折通行证如何显示已安装的应用程序横幅?

ios - WatchKit SF 等宽数字

objective-c - WatchKit 中 UIApplication.sharedApplication().delegate 的等价物是什么?