У меня есть приложение под названием Приложение 1 , я изменил это имя на Приложение 2 на CFBundleDisplayName
, и я определил атрибуты ключевых слов для поиска следующим образом:
if let displayName = Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String {
let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeData as String)
attributeSet.title = displayName
attributeSet.contentDescription = ""
attributeSet.keywords = ["App 1", "App 2"]
let item = CSSearchableItem(uniqueIdentifier: "0", domainIdentifier: Bundle.main.bundleIdentifier, attributeSet: attributeSet)
CSSearchableIndex.default().indexSearchableItems([item])
}
Когда у меня установлено приложение 1 и я обновляю его до Приложение 2 , отображаемое имя на главном экране корректно, Приложение 2 . Но когда я ищу Приложение 1 или Приложение 2 в Центре внимания, приложение всегда показывает старое имя Приложение 1 .
КогдаПриложение не установлено на устройстве, и я устанавливаю новую версию Приложение 2 все работает нормально, Spotlight показывает правильное имя.
Кроме того, при перезагрузке устройства все возвращается кнормально!
Я не уверен, как работает прожектор! Но есть ли кеш или что-то для обработки?