在使用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
的实现是bueno,并且重点放在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...
}
关于swift - INImage或INImageNoteContent是否出错?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51717467/