如何为我的EXISTING Xcode项目添加复杂功能?

时间:2015-08-21 12:02:58

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

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

观看WWDC视频2015会议209,显示添加复杂功能的方法是创建一个新项目,并在复杂性方面做得很好。这适用于该情况但是如何在现有项目中添加它们?

enter image description here

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

enter image description here

为什么会这样?

2 个答案:

答案 0 :(得分:5)

添加新的临时监视扩展目标并检查并发症复选框。将复杂扩展属性从此新info.plist(CLKComplicationSupportedFamilies,WKExtensionDelegateClassName& CLKComplicationPrincipalClass)复制到旧手表扩展信息info.plist中。一旦你这样做,你将看到复杂功能家庭列表。

我还移动了ExtensionDelegate& ComplicationController类进入旧手表扩展程序,并将目标成员资格从新的手表扩展程序更改为旧手表扩展程序。

右键单击旧手表扩展资产文件,然后添加并发症图像集。

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

当从wos1移动到wos2时(如果在编译期间有警告),建议的构建设置也会发生变化,并且在旧的扩展和扩展中都会生成WATCHOS_DEPLOYMENT_TARGET = 2.0。观看应用内置设置。

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

答案 1 :(得分:1)

在Interface Builder中没有像复杂控制器这样的东西,它是一个抽象的实体。您应该使用ClockKit Framework来注册时间轴条目,之后只有Watch表面支持的复杂功能才能使用这些条目。

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