问题标签 [clockkit]

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 回答
81 浏览

apple-watch-complication - 在午夜更新 Apple Watch 的并发症内容

我已经添加了我的并发症条目,这一切似乎都运行良好 - 每个并发症条目都安排在午夜。

我正在通过将我的 Mac 日期设置为第二天来测试时间变化,我希望我的并发症会更新到下一个条目。

但是,它仅在我打开和关闭我的应用程序时更新条目。我期待看到它像其他标准并发症一样自动改变。这是我需要竭尽全力实施的一些行为吗?我希望根据文档进行自动更改。

我发现了以下内容:

ClockKit 在条目的 date 属性指定的时间精确地开始显示时间线条目。

但这肯定也是一个大于检查的东西吗?我尝试将其精确设置为午夜,但(令人惊讶的是)这也不起作用。

任何帮助表示赞赏。

此外,我发现以下有关更新时间线的内容,但我认为这将用于更改时间线条目,而不是仅刷新当前时间线的并发症:

在后台应用刷新任务期间。您可以安排后台任务以定期更新您的 watchOS 内容。当您的数据在可预测的时间发生变化时,这最有效。

0 投票
1 回答
236 浏览

swift - watchOS 不进入 ComplicationController

我想开发一个简单的复杂功能作为我的第一个 watchOS 项目。如屏幕截图所示,我已经设置了所有内容:

数据源类的设置

但是当我在里面设置断点时ComplicationController.swift,它不会被调用。因此,我提供的任何数据都不会填满我的并发症。我为该类中所有实现的方法(例如getLocalizableSampleTemplate)设置了一个断点,但代码只是在运行,并且复杂性不会填充提供的数据。

我究竟做错了什么?我的类符合CLKComplicationDataSource(我保留了所有默认实现)。

并发症控制器

0 投票
2 回答
146 浏览

swift - 当用户解锁手表时,复杂功能数据是最新的吗?

我目前正在开发一个简单的应用程序,该应用程序在 watchOS 复杂功能中显示通过网络接收的数据。值得注意的是,在需要新的网络获取之前,此数据仅相关约 30 分钟。

我希望在用户早上解锁手表时让复杂功能保持最新(这是 Apple 提出的一个常见用例)。

用户解锁手表时是否可以接收某种后台任务?如果我安排了一个后台任务,并且手表在刷新时锁定并充电,后台任务还会触发吗?当用户醒来并解锁手表时,我可以使用哪些技术为用户准备好数据?手表锁定时是否有专门针对后台任务的文档?

0 投票
1 回答
588 浏览

swift - tintedImageProvider 在图形复杂化中不提供色调颜色

我正在尝试为我的 Apple Watch 应用程序(即 Graphic Circular)创建图形并发症,但遇到了一些问题。为了同时支持多色和有色表盘,我使用以下代码为我的复杂功能提供图像:

现在我fullColorImage在关注: fullColorImage

而相同大小的着色图像被渲染为模板图像: tintedImage

在多色 Infograph 表盘中,全彩色图像看起来如预期: 多色

但是当我将表盘更改为选定的色调时,我的有色图像呈现为纯白色,并且系统色调颜色不会应用于它: 色调颜色

所以我的问题是我错过了什么,为什么我的 tintedImageProvider 不提供任何色调?

此外,我注意到 Graphic Circular 类型的系统并发症似乎有一个略带灰色的背景,这使它们在黑暗的表盘环境中与众不同。我已将相同的背景颜色硬编码为全彩色图像,但是当面部切换到色调模式时 - 我的并发症的背景完全变黑了。关于如何实现这种灰色背景效果的任何想法?

0 投票
0 回答
129 浏览

ios - 使文本(计时器)适合 CLKComplicationTemplateGrphicCircularOpenGaugeSimpleText

我正在为我的应用程序开发手表复杂功能。该应用程序的主要功能是时间跟踪一些任务。所以对于.graphicCircular模块,我选择使用图形圆形开口量规模板。CLKComplicationTemplateGraphicCircularOpenGaugeSimpleText. 但是,结果如下所示。倒计时不合适。

观看模拟器截图

这是我正在使用的代码:(我还没有连接我的模型。只是使用一些 UI 占位符来尝试使其首先看起来正确。)

我还为相对日期文本提供程序尝试了不同的样式选项,但它们都不适合。

我怎样才能使这个倒计时适合?(iOS 计时器应用程序在一个圆圈内倒计时,它适合。它怎么能做到这一点?)

如果我不能使文本更小以使其适合,那么我该如何重构来自相对日期文本提供程序的文本,以便让它只显示计数?这意味着它使用 11 而不是 0:11,因此它可以适合。我知道这.offsetShort提供了11 min....不幸的是,这也不合适。我只能11 ...在屏幕上看到

任何提示表示赞赏。非常感谢你们的帮助。

0 投票
1 回答
191 浏览

swift - iOS Watch ComplicationController not showing result

I have followed the Apple Developer guide on setting up my ComplicationController. I have set modularLarge enabled, and made sure its also enabled in info.plist.

I have set my data source in Complication Settings to "$(PRODUCT_MODULE_NAME).ComplicationController" which cross checks with info.plist.

I can select the Complication on the watch but it doesn't load any of the Test labels. It just says:

My App Name

"- - - - - - - -"

"- - - - - - - -"

screenshot of info plist screenshot of complications configuration

0 投票
1 回答
102 浏览

watchkit - 使用渲染模式“模板”(CLKComplicationTemplateGraphicCircularClosedGaugeImage)时,TintColor 不适用于我的复杂功能

我目前正在尝试实现 CLKComplicationTemplateGraphicCircularClosedGaugeImage ,但由于某种原因,我的图标一直被染成蓝色。

当我更改 WatchFace 的 tintColor 时,一切似乎都以正确的方式着色。但是,当我禁用 WatchFace 上的着色时,我的图像会因某种原因变成蓝色。

我在资产目录中启用了渲染模式:alwaystemplate,因为我的图像在原始版本中只是黑色,而我在我的应用程序的其他部分对其进行了着色。

我尝试在模板上应用 tintColor,并且在将图像传递给 ImageProvider 之前,我还尝试将 tintColor 直接应用到图像。这两个想法都不会产生预期的输出。

使用alwaysTemplate作为渲染模式时,如何设置默认色调?

0 投票
0 回答
61 浏览

watchkit - 时间线结束后重新加载 watchOS 并发症

我不明白在当前时间线结束后如何可靠地在 watchOS 上重新加载并发症时间线。

getTimelineEndDate:forComplication:withHandler ( CLKComplicationDataSource ) 中,我将返回当天的结束时间。

我的期望是,watchOS 会在此日期之后自动执行时间线重新加载,否则这种方法有什么意义?

我试图在时间线结束时(午夜)安排后台应用程序刷新并在那里重新加载所有活动的并发症,但如果手表在充电器上,watchOS 似乎不会执行这些任务。此外,它不会在手表解锁后立即安排(例如,早上)。

我错过了什么?非常感谢你的帮助!

0 投票
0 回答
50 浏览

apple-watch - 在 watchOS 7 中的后台 URLSession 中下载数据

我正在尝试关注 WWDC20 会议“让您的并发症保持最新”,WWDC20-10049。在尝试遵循代码时,我陷入了计划功能:

由于会话仅提供了片段,因此我遇到的问题是定义 var backgroundTask 的位置。此函数在数据模型中声明,在本例中为WeatherDataProvider. 它显然是 a backgroundURLSession.downloadTask,但它没有被标识为self因此它应该是函数的本地,但它没有显示在代码片段中。我希望它要么作为参数发送给函数,要么在数据模型本身中声明。如果它在那里声明,它是如何声明的,根据谈话,它可以访问先前的后台请求,因为代码片段正在检查队列中是否有后台请求,因此该函数不会安排另一个。我已经搜索了过去几天,但找不到任何实现这一点的东西,我可以用它来了解 Apple 在本次会议中来自哪里。

我已经检查了这个答案,以及这个会话概述,但我还没有弄清楚。

谢谢。

0 投票
1 回答
426 浏览

watchkit - 并发症系列支持 - 如果不支持,则不显示并发症系列

如果我不支持它,我想知道如何不显示并发症系列。

示例:超大表盘

InComplicationController.swift和方法我只是在打开Extra LargegetLocalizableSampleTemplategetCurrentTimelineEntry传入 a :handler(nil)complication.family

但这一定是不对的,也不是全部,因为我的特大号并发症仍然可以选择:

在此处输入图像描述

但它显然不起作用或有任何数据要显示:

在此处输入图像描述

有谁知道我错过了什么?谢谢!

更新:

ComplicationController.swiftgetComplicationDescriptors

这也是我WatchApp.swift使用 SwiftUI 生命周期的方法(除非我弄错了):

}