【发布时间】:2018-08-07 01:04:38
【问题描述】:
在使用 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 都能按预期工作。我不需要任何代码更改,所以我猜错误报告有效。
【问题讨论】: