Может ли имя приложения для iOS Search отличаться от CFBundleDisplayName? - PullRequest
0 голосов
/ 05 апреля 2019

У меня в магазине приложений есть приложение "Французский переводчик +".

Недостаточно места под значком приложения для отображения полного имени, поэтому я устанавливаю CFBundleDisplayName = "Translator +".

Однако, когда я набираю "French" в iOS Search, мое приложениене отображается в результатах раздела ЗАЯВЛЕНИЯ.

Как настроить поиск iOS для индексации "Французский переводчик +" при отображении "Переводчика +" под значком приложения?

enter image description here

1 Ответ

0 голосов
/ 08 апреля 2019

На вопрос есть уже дан ответ в Укажите ключевые слова Spotlight iOS 9

Как вы указали, Core Spotlight индексирует данные в приложении. Данные, которые вы предоставляете. Поэтому все, что вам нужно сделать, это предоставить ему некоторые данные, чтобы Spotlight Search мог найти ваше приложение.

Добавление этого к application(_:didFinishLaunchingWithOptions:) сработало для меня:

let attributeSet = CSSearchableItemAttributeSet(itemContentType: "application")
attributeSet.title = "French Translator"
attributeSet.keywords = ["french", "translation", "translator"]
attributeSet.contentDescription = "French Language Translation App"

let item = CSSearchableItem(uniqueIdentifier: "5C0B7719-3BE7-4441-892D-A786AA431BDD", domainIdentifier: nil, attributeSet: attributeSet)
CSSearchableIndex.default().indexSearchableItems([item]) {
  print("Finished indexing with \(String(describing: $0))")
}
...