Mac 上的 Spotlight 对我的自定义 UTType 文档使用默认图标

问题描述 投票:0回答:1

我正在创建一个具有自己的文档类型的 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.")
    }
}

以下是我如何设置文档类型: Info.plist

我做错了什么?索引工作。 Spotlight 找到我的文档。 Finder 显示我的图标。但 Spotlight 显示默认图标。

swift xcode macos spotlight
1个回答
0
投票

没关系,我做的一切都是对的。刚刚开始工作。

© www.soinside.com 2019 - 2024. All rights reserved.