问题标签 [apple-watch-complication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
496 浏览

xcode - 为什么我不能在 Xcode Playground 中导入 ClockKit 并使用 CLKComplicationDataSource?

我可以毫无问题地导入WatchKitWatchConnectivity使用各种代表,例如。WCSessionDelegate

但是当我尝试 importClockKit或 addCLKComplicationDataSource时,Xcode 会抛出诸如“不存在模块”之类的错误。

为了检查这一点,我创建了一个手表应用程序项目并检查了 ComplicationController.swift。它确实import ClockKit在源代码中。

为什么我们不能在 Xcode Playground 中测试这个 API?这不是违背了拥有游乐场的目的吗?

0 投票
1 回答
1525 浏览

xcode - 从我的手表应用程序中删除并发症

我对复杂功能有一些非常好的想法,但我意识到我的应用程序中的数据变化太频繁,并且认为复杂功能不适合。

我之前在创建应用程序时选择了 Complications 复选框。

我现在如何从我的 Watch 应用程序中删除并发症?

0 投票
1 回答
174 浏览

swift - 使用三个数组填充并发症时间线

我有三个数组,其中包含用条目填充并发症时间线的数据。

当我滚动时间旅行时,并发症并没有改变,所以我知道我一定做错了什么。

我的想法:

  • 循环遍历三个数组
  • 使用数组循环的结果设置模板
  • 使用对象的日期设置时间线条目body2Array

我的控制台上的输出是:

0 投票
1 回答
316 浏览

objective-c - 我将如何为这些 WatchKit 并发症创建模型?

我观看了著名的 Apple 工程师 Eliza Block 在 WWDC 上演示的用 ClockKit 创建并发症,并在她进行过程中对整个项目进行了编码。很棒的教程顺便说一句。真是彻底。

她展示了界面,但没有透露用于她的足球比赛的迷你模型的实现。她可能认为这非常容易,所以没有表现出来。然而,作为一个新程序员,我想看看一些实现的例子以及它是如何完成的。

我已经包含了 ComplicationController 类和 SoccerMatch 模型接口。我尝试使用 NSDateComponents 创建日期,但 Xcode 警告我未使用变量“日期”。此外,Apple 已经在界面中创建了日期 @property。我应该在实现中写什么以获得完整的模型?

足球比赛.h

足球比赛.m

0 投票
1 回答
623 浏览

swift - 以 24 小时格式显示特定时区的复杂当前时间

我正在制作复杂功能,并希望在复杂功能中使用 24 小时格式显示“UTC”时区时间。

CLKTimeTextProvider 可以工作,但它似乎只使用用户喜欢的默认格式,而我需要强制它始终显示 24 小时制。

有什么想法吗?有没有我看不到的属性?

0 投票
1 回答
321 浏览

swift - 获取用于活动并发症的时间线条目和模板?

我想有条件地在requestedUpdateDidBegin函数中重新加载我的活动并发症,或者实际上告诉ClockKit在当前时间线条目结束前 15 分钟设置下一次检查,但我怎么能在不知道当前并发症的情况下做到这一点?

这是我正在尝试做的事情:

对于当前的并发症,我只能获得家庭,但没有其他信息,如时间线日期或使用的模板。有没有办法得到这个?

0 投票
1 回答
139 浏览

swift - 多个并发症家族的时间线条目

当我只有.ModularLarge.

我想添加.ModularSmall一个选项,所以我尝试用几种不同的方式修改我的代码,但它不再按预期工作。

现在发生的情况是 Time Travel 将适用于从 生成的数组中的第一个条目getTimelineEntriesForComplication,但在执行 Time Travel 时,下一个条目永远不会出现,因此 Complication 只会停留在第一个条目上。

时间线 尝试使用if语句

0 投票
1 回答
773 浏览

ios - 并发症适用于模拟器,但不适用于设备

我有一个可以在模拟器上运行的复杂功能,但是当我在实际设备上进行 TestFlight 测试时它不能在实际设备上运行(为了清楚起见,如果有任何混淆,我不是在谈论通过设备进行调试,而是只是测试它是否适用于设备)。

具体来说,在 Watch 设备上:

  • 我通过自定义钟面选择了手表上的复杂功能,这给了我占位符文本(到目前为止很好,因为 getPlaceholderTemplateForComplication也适用于模拟器)......
  • 但随后并发症始终保留为占位符文本(不正确,因为getCurrentTimelineEntryForComnplication适用于模拟器)...
  • 即使通过 Time Travel 滚动,占位符文本也不会改变,只是变暗(不正确,因为getTimelineEntriesForComplication:afterDate适用于模拟器)......

Info在 iPhone 上:

ExtensionDelegate在 WatchKit 扩展中:

ComplicationController在 WatchKit 扩展中:

这是数据流:

transferCurrentComplicationUserInfo将数据传递给 Watch ExtensionDelegate,其中数据保存在NSUserDefaults. ComplicationController然后从 中提取其初始数据NSUserDefaults

0 投票
1 回答
746 浏览

swift - 为 Apple Watch 复杂功能设置 tintColor

我正在尝试为模块化大型复杂功能设置标题文本颜色。

我已经定制了表盘以使用多色。

但是,当我构建并运行此代码时,标题文本颜色仍然是白色(这是默认值)。

为什么颜色不更新?

0 投票
1 回答
1040 浏览

swift - 结合 WatchConnectivity 和并发症

我希望我的复杂功能通过 Watch Connectivity 从 iPhone 获取数据。我正在使用sendMessage即时通讯技术。

当我尝试获取数据时,我不希望我的 iPhone 应用程序打开,因此这需要在后台运行。

在我 iPhone 上的 ViewController 中:

在我的 ComplicationController

我在手表上唯一能看到的是“不是”。为什么并发症不显示接收到的数据?