问题标签 [widgetkit]

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 投票
2 回答
1035 浏览

swift - WidgetKit 未更新

例如,我希望我的小部件每 5 秒更新一次。我不知道为什么它不起作用。代码应该是正确的。

更新代码:

0 投票
0 回答
1489 浏览

ios - iOS 14 小部件闪烁或冻结,chronod 崩溃

我已经为我的应用程序实现了一个小部件扩展(即一个 iOS 14 小部件,使用 WidgetKit)。通常小部件工作得很好,但偶尔它会进入反复闪烁并最终冻结的状态。我尝试将调试器连接到小部件进程,但它没有捕获任何崩溃或异常。但是,我确实在我的设备日志中看到了 chronod 过程中重复的崩溃(在一分钟内约 25 次)。这些报告看起来基本相同:

因此,很明显该错误与解码 Font 对象有关。我确实在我的应用程序和小部件中使用了可能相关的自定义字体,但它们在第一次显示在小部件中时显示得很好,而且我的应用程序本身没有任何问题(它不使用 SwiftUI )。

看起来导致错误的过程是 UI 状态被编码并缓存在某处,然后未能被解码以供稍后显示。但是这些代码都不归我所有,因此调试起来非常困难。

出了什么问题,如何解决?

0 投票
0 回答
1333 浏览

swift - 小部件不断在设备屏幕上重新加载

我正在使用带有 CoreData 和 iCloud 的小部件。它们共享同一个 App Group 容器。一切工作正常一点,但自发的小部件开始不断重新加载并在设备屏幕和小部件仪表板(您可以搜索和添加任何小部件的地方)中自行阻止。

它发生在 iPhone 模拟器(我使用 iPhone 8)和物理设备上。在设备上它表现得更好,例如,它可以重新加载一段时间然后停止。

我的想法与它有关,NSPersistentContainer但我不确定。我试过这些没有运气:

  1. 延迟加载 Core Data 附带的所有内容:CoreDataStack、PersistentContainer 等。
  2. 用于更快container.performBackgroundTask()地返回数据。getTimeline(in:completion:)我只测试了 1 条记录,结果是一样的。
  3. 使用 Core Data 删除所有内容并放置示例代码以显示静态文本 - 有效,重新加载消失,但我需要显示真实数据

在不同的场景中,我看到这些日志消息:

有时会崩溃

我不知道为什么会这样。我很困惑,因为它有时可以工作并显示我的核心数据记录,并正确重新加载时间线,但有时它会发疯。

任何帮助或指导将不胜感激。

Xcode 12.0.1 (12A7300)

设备:iPhone Xs,iOS 14.0.1

0 投票
1 回答
1492 浏览

swift - SwiftUI iOS 14 小部件倒计时

我有一个带有倒计时的 iOS 14 小部件

当时间少于 1 分钟时,如何将文本颜色更改为红色?

0 投票
1 回答
602 浏览

swift - SwiftUI,如何翻译带有计时器样式的文本?

我们正在尝试创建一个 iOS 14 小部件,由于 API 的限制,我们无法使用计时器,但是我们发现我们可以使用带有 Date 样式的 Text 来更新自身,但是可用的文档非常少,并且文本似乎无法适应手机语言。

从 Xcode 内部接口:

我们的代码:

渲染:

小部件的 iOS 图像

我们需要将此文本调整为电话区域设置(屏幕截图中为德语),有人做到了吗?

0 投票
1 回答
571 浏览

ios - 是否可以在 iOS 14 小部件中动态更新/更改它们的布局(例如视图数量)?

我正在开发我的第一个 iOS 14 小部件。我知道小部件大多是静态的,不能显示动态内容,如动画或。但是是否可以更改小部件中视图的布局/数量?

由于我是 SwiftUI 的新手,因此我看不到任何更改视图内容的方法。

语境:

假设一个 ToDo 应用程序的小部件应显示最多 5 个条目的按钮/链接。但是,如果应用程序中当前只有 3 个条目,那么小部件当然应该只显示 3 个链接。

该应用程序已经提供了 Today Widget。在这里,我通过简单地将固定数量的条目(例如 5 个)的控件(按钮)添加到小部件视图来解决了这个问题。如果应显示较少的条目,则当小部件更新其视图时,未使用的控件将被隐藏。

在 SwiftUI 中创建具有固定数量的条目(链接)的小部件视图是没有问题的。但是如何隐藏/删除未使用的视图?

在 SwiftUI 中,视图是一个some View变量,我看不到动态更改其内容的方法:

0 投票
1 回答
1036 浏览

ios - URLImage 永远不会在 SwiftUI 的小部件应用中加载图像

iOS Widget 的简单代码,我已经验证了 meme 加载了来自早期 HTTP 请求的 meme.url 值。我还检查了自己打印 url 文本,这也有效,但我无法使用 URLImage 包加载图像。我也尝试过小部件和内容视图,但没有结果。有任何想法吗?

meme.url是一个可选的 URL 类型。

网址图片:https ://github.com/dmytro-anokhin/url-image

注意:更具体地说,占位符确实出现,而不是来自 url 的图像。这是一个示例网址:https ://i.redd.it/zey35zvw4gq51.jpg

0 投票
1 回答
394 浏览

ios - WidgetPreviewContext 不在框架中工作

我使用新的闪亮的 WidgetKit制作了一个小部件。它看起来不错并且按预期工作。然后我将其所有逻辑放入单独的框架中,以在扩展程序和主应用程序之间共享常量值,并提供可单元测试的目标。在引入框架 SwiftUI 预览后停止工作。我收到错误:Cannot preview in this file - Could not find host for previews。似乎WidgetPreviewContext不起作用。我想知道为什么。可能是因为我使用的是 macOS Catalina 10.15.6 吗?

0 投票
2 回答
1353 浏览

swift - 本地化 iOS 14 动态小部件配置

我正在尝试根据应用程序语言为小部件加载不同的配置,但是当我使用类似的东西时:

他们都只在 IntentExtensionTarget 中返回“en”。

这是我使用代码的示例:

0 投票
1 回答
930 浏览

swift - iOS 14 小部件检测系统主题更改

我在getTimeline中使用以编程方式生成的 UIImage 构建我的小部件。

所以我需要在getTimeline中知道iOS 主题是 Light 还是 Dark。

我知道如何在 ViewController 中执行此操作traitCollection.userInterfaceStyle == .dark,但是如何在 Widget 中执行此操作?