当前位置: 首页 > news >正文

如何让可交互式(Interactive)Widgets 关联的 App Intent 动态对应于可变内容?

在这里插入图片描述

概述

为了从全局层面打通应用的“任督二脉”、将 App 各个独立功能融入到整个系统的血脉中,Apple 从 iOS 13 开始逐步开放各个系统组件对于 App 的外部接口,比如 Siri、Widgets、Live Actives、Shortcuts 等等。

在这里插入图片描述

如何将 App 内部变幻莫测的细枝末节“公之于众”呢?没错,答案就是:App Intent!这里就让我们聊聊 AppIntent 在初始化时的一个小故事吧。

在本篇博文中,您将学到如下内容:

  • 概述
  • 1. 包含自定义内容 AppIntent 初始化时的问题
  • 2. 冲云破雾:手动增加 AppIntent 构造器
  • 3. 将解决方案应用到多个 AppIntent 实例上
  • 总结

Apple 平台中所有 App 与系统浑然一体,必将使苹果应用生态链更加熠熠生辉!那小伙伴们还等什么呢?
Let‘s go!!!😉


1. 包含自定义内容 AppIntent 初始化时的问题

为了把我们 App 中精妙的功能推销到整个系统中去,我们必须找到一种办法对外公布应用内部的数据模型。

比如,在一个任务管理 App 中我们必须要让系统了解如何找到每个任务对应时钟的标识符。

struct ClockControlIntent: AppIntent {static var title: LocalizedStringResource = "Clock 控制"static var description: IntentDescription? = "控制 Clock 走停"var clockIDString: String?func perform() async throws -> some IntentResult {let cid = UUID(uuidString: clockIDString!)!let context = ModelContext(ModelContainer.shared)if let clock = try! context.load(uuid: cid) {if clock.state == .timing {clock.pause(true)} else if clock.state == .pause {clock.continue(true)}try! context.save(clock)WidgetCenter.shared.reloadTimelines

http://www.mrgr.cn/news/66058.html

相关文章:

  • LeetCode:633. 平方数之和(Java)
  • 网付碰一下支付系统功能分享来了!
  • Java Iterator 实现杨辉三角
  • Linux高阶——1103—修改屏蔽字信号到达及处理流程时序竞态问题
  • 为什么使用hooks,什么情况下使用hooks
  • el-talble selection行 初始默认勾选
  • 【图神经网络】 AM-GCN代码实战(1)【pytorch】代码可运行
  • 浅析Android Handler机制实现原理
  • Matlab 基于声学超表面的深亚波长厚度完美吸收体
  • 安科瑞EMS3.0开启未来新型电力系统与虚拟电厂聚合商平台交互新征程——安科瑞丁佳雯
  • ElMessageBox 内容自定义
  • 安利一款自己开发的命令行翻译工具。command-fanyi
  • 【热门主题】000029 ECMAScript:现代编程的基石
  • 预测案例2 短剧直播求财如何?
  • gatewayworker 读取laravel框架的配置
  • 靠谱的零代码产平台开发— 应用创建与设置
  • C语言 -- qsort的简单使用
  • 大语言模型可以对数据科学有哪些改变和提升?
  • Python捕获一个函数的输出并将其作为变量使用
  • linux下交叉编译 Boost 库
  • windows UI 自动化测试框架 pywinauto 使用教程
  • 基于SSM+uniapp的营养食谱系统+LW参考示例
  • 2024Python安装与配置IDE汉化集活的全套教程
  • 一个快速、低成本、高效的Fast GraphRAG
  • Java:数组的定义和使用(万字解析)
  • 企业平台生态嵌入数据集(2000-2023年)