【问题标题】:Is INImage or INImageNoteContent at fault?INImage 或 INImageNoteContent 有问题吗?
【发布时间】: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 都能按预期工作。我不需要任何代码更改,所以我猜错误报告有效。

【问题讨论】:

    标签: swift uiimage sirikit


    【解决方案1】:

    这样它就可以被标记为已回答而不是保持打开状态...

    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...
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      • 2018-09-14
      • 2012-03-03
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多