【问题标题】:iOS 9 NSUserActivity for search does not update it's thumbnail用于搜索的 iOS 9 NSUserActivity 不会更新它的缩略图
【发布时间】:2016-04-26 16:22:42
【问题描述】:

我使用NSUSerActivityCoreSpotlight 进行索引。我像往常一样在contentAttributesSet 属性中设置了thumbnailURL。图像是从服务器下载的,并且活动对象是在图像下载之前创建的。所以我设置了一个“占位符”图像,当我有机会将contentAttributesSet.thumbnailURL 更新为正确的图像时。但是当我尝试在 Spotlight 中搜索相同的项目时,图像保持不变。

在更新此类信息时,我需要注意什么特殊情况吗?

【问题讨论】:

  • 您将thumbnailURL 设置为什么?您是否尝试过改用 thumbnailData 属性?
  • 我将其设置为位于 Caches 目录中的文件 URL。由于需要调整图像大小,这比使用 data 属性要容易得多。

标签: ios corespotlight nsuseractivity


【解决方案1】:

缩略图网址仅适用于 local 网址。不是远程的。您必须使用 thumbnailData。

【讨论】:

  • 用于本地文件。事实证明,这是一个错误。苹果论坛上也有人抱怨同样的问题。无论您如何设置,一旦设置了缩略图,就无法替换它。
  • 我没有尝试thumbnailURL但是thumbnailData的问题-CoreSpotlight缓存了它,看来你不能通过代码刷新这个缓存。
【解决方案2】:

我认为这是 iOS 9.0 - 9.2 中的一个错误。它似乎在 iOS 9.3+ 上运行良好

【讨论】:

  • 我对 9.3.3 也有同样的问题
  • 嗯,这很奇怪。我相信他们用 9.3 修复了它。如果它在我的应用中重新引入,我会仔细检查并发布。
【解决方案3】:

据我所知,这是缓存特定NSUserActivity 缩略图的问题。 CoreSpotlight 框架似乎将图标数据与activityType 相关联,因此即使创建新的NSUserActivity 对象也不允许您更新图标图像。您可以做的最好的事情是在内部跟踪所有持久标识符,删除旧标识符,并创建一个全新的 NSUserActivity,用户也必须将其视为新的快捷方式。

这绝对是个愚蠢的问题,我希望在 iOS 9 发布后的 3.5 年里,Apple 会引入一种更新NSUserActivity 缩略图的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2019-02-19
    • 1970-01-01
    相关资源
    最近更新 更多