如何解决如何在App中选择图片并在Widget中显示
我正在尝试找到一种合适的机制来将图像从应用程序提供给小部件。到目前为止,我在 AppGroups 和固定标识符方面取得了成功。在应用端使用固定 ID 将图像保存在用户默认值中,我可以通过使用我的密钥访问用户默认值在小部件端检索它。
但现在我正在努力与 Siri Intents 相处。我不知道如何将图像数据从我的应用程序提供给我的小部件。我怎样才能做到这一点?我在商店中看到过其他提供此类功能的 PhotoWidget 应用程序。例如,Photo Widget App 在编辑小部件时会显示一些用户界面,我可以在其中选择在主应用中选择的照片。
总结:如何使用 SiriIntents 从我的小部件中的应用程序中选择照片?
感谢任何帮助!
解决方法
在您的 Intent.intentdefinition 文件中,您可以使用动态选项添加可配置参数:
然后在 IntentHandler 文件中,您可以指定可用选项的来源。 UserDefaults 中的名称列表示例:
class IntentHandler: INExtension,IntentHandling {
func provideNameOptionsCollection(for intent: Intent,searchTerm: String?,with completion: @escaping (INObjectCollection<NSString>?,Error?) -> Void) {
let existingWidgets = UserDefaults(suiteName: "group.name")!.value(forKey: "widgetUnits") as! String
let names = existingWidgets.components(separatedBy: "|")
let result = INObjectCollection<NSString>.init(items: names.map { NSString(string: $0) })
completion(result,nil)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。