swift - INImage 或 INImageNoteContent 有问题吗?
问题描述
在使用 SiriKit 的 Notes & Lists 域时,我已经能够使用 来创建INNote
响应INTextNoteContent
,因此意图和响应原则上是有效的。
要使用图像响应,请使用以下代码:
let image: UIImage? = ...grabbing valid image from app's user data
if let image = image,
let data = UIImagePNGRepresentation(image) {
let imageNote = INImageNoteContent(image: INImage(imageData: data))
...append to [INNote], etc...
}
属性似乎有数据,但意图没有处理(Siri 说,“您可能会在 MyApp 中找到该信息”),而它仅显示带有文本内容的正确数据。关于我搞砸了哪一部分的任何想法?有没有人成功过INImageNoteContent
?
谢谢!
编辑:通过进一步的实验,确认INImage(named: "some image name")
与. 然后试了INNote
INImageNoteContent
INImage(imageData: Data)
if let image = UIImage(named: "some image name"),
let data = UIImagePNGRepresentation(image) {
let imageNote = INImageNoteContent(image: INImage(imageData: data))
...append to [INNote], etc...
}
和
if let image = UIImage(named: "some image name"),
let data = image.cgImage?.dataProvider?.data as Data? {
let imageNote = INImageNoteContent(image: INImage(imageData: data))
...append to [INNote], etc...
}
并且每个都产生与初始代码相同的结果。INImage(imageData: Data)
除了表现不如宣传的那样,还有什么可以得出的结论吗?
编辑:从 iOS 12 开始,无论今天有什么版本,INImage 都能按预期工作。我不需要任何代码更改,所以我猜错误报告工作。
解决方案
这样它就可以被标记为已回答而不是保持打开状态......
let image: UIImage? = ...grabbing valid image from app's user data
if let image = image,
let data = UIImagePNGRepresentation(image) {
let imageNote = INImageNoteContent(image: INImage(imageData: data))
...append to [INNote], etc...
}
推荐阅读
- r - 尝试用管道代替for-loop(结果不一样)
- android - 如何使用可组合物在应用程序中动态切换明暗主题
- javascript - 在jquery中动态创建一个标签onclick函数而不是触发
- mysql - Getting table name with the select query of the same table
- reactjs - React FontAwesome Icon disappears when I add tag
- python - Trying to combine a list of lists in python
- angular - 在 Angular 中放置实用程序函数的位置
- kotlin - How to add coverage report (JaCoCo) to kotest based using build.gradle.kts?
- google-oauth - 使用 Angular 实现 Google One Tap Login
- batch-file - 如何在批处理脚本上设置临时标题?