我正在创建一个具有自己的文档类型的 macOS 应用程序,并为 Spotlight 手动索引文档。我在 Info.plist 中创建了自己的文档类型和相应的导出类型标识符。 Finder 现在可以识别它们并显示我为扩展名为 .artcl 的文件配置的图标。但对于我添加到索引的文档,Spotlight 显示默认的空图标。
以下是我添加到聚光灯索引的方法:
var searchableItems: [CSSearchableItem] = []
let myType = UTType(filenameExtension: "artcl")!
let attributeSet = CSSearchableItemAttributeSet(contentType: myType)
attributeSet.title = article.title
attributeSet.contentDescription = article.short
attributeSet.displayName = article.title
attributeSet.keywords = [ "artcl", article.keyword ]
attributeSet.comment = article.short
attributeSet.contentType = "com.deva.testspot.artcl"
let id = "artcl." + article.language + "." + article.title
let indexItem = CSSearchableItem(uniqueIdentifier: id, domainIdentifier: "artcl", attributeSet: attributeSet)
searchableItems.append(indexItem)
let defaultIndex = CSSearchableIndex(name: "Testspot")
defaultIndex.deleteAllSearchableItems()
defaultIndex.beginBatch()
defaultIndex.indexSearchableItems(searchableItems)
defaultIndex.endBatch(withClientState: clientData) { error in
if error != nil {
print(error?.localizedDescription ?? "Unknown error")
} else {
print("Item indexed.")
}
}
我做错了什么?索引工作。 Spotlight 找到我的文档。 Finder 显示我的图标。但 Spotlight 显示默认图标。
没关系,我做的一切都是对的。刚刚开始工作。