8

如何为我现有的Xcode 7 项目添加复杂性?

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

在此处输入图像描述

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

在此处输入图像描述

为什么会这样??

4

2 回答 2

7

添加一个新的临时监视扩展目标并选中并发症复选框。将这个新 info.plist (CLKComplicationSupportedFamilies、WKExtensionDelegateClassName & CLKComplicationPrincipalClass) 中的并发症扩展属性复制到您的旧手表扩展 info.plist 中。一旦你这样做了,你会看到复杂的家庭列表。

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

右键单击旧手表扩展资产文件并添加复杂图像集。

另外“tom_witkin 2015 年 7 月 23 日上午 8:50(响应 breville)ClockKit 框架仅适用于 watchOS 2,不适用于 iOS。因此,在 iPhone 上运行扩展的现有 WatchKit 应用程序不支持复杂性。”

当从 wos1 移动到 wos2 时(如果在编译过程中出现警告),建议的构建设置也会发生变化,并在旧扩展和 watch 应用构建设置中设置 WATCHOS_DEPLOYMENT_TARGET = 2.0。

为旧手表扩展添加 TARGETED_DEVICE_FAMILY = 4(如果不存在)。

于 2015-10-02T05:11:37.077 回答
2

Interface Builder 中没有复杂控制器之类的东西,它是一个抽象实体。您应该使用ClockKit 框架来注册时间线条目,并且只有在此之后,这些条目才能通过表盘上支持的复杂功能可用。

您可以在 Watch Extension 目标配置选项卡上配置支持的复杂类型 - 只需选中必要的复选框。还有一个技巧,你应该使用下一个方案指定复杂控制器的名称:$(PRODUCT_MODULE_NAME).YourComplicationControllerName

于 2015-09-07T13:01:13.780 回答