да, спасибо, Дэн! Похоже, текст «Добавлено в Siri» является реализацией по умолчанию от Apple после установки фразы. Если я пытаюсь установить заголовок, он перекрывает этот текст.

я есть 2 сири ярлыки в моем приложении. Я использую NSUserActivity, чтобы пожертвовать эти ярлыки. Я также создал 2 NSUserActivityTypes в моем info.plist.

Есть 2 контроллера представления, которые обрабатывают эти ярлыки (1 контроллер представления на 1 ярлык).

Если я добавлю 1 ярлык siri из 1 контроллера представления, а затем перейду ко 2-му контроллеру представления, то появится кнопка быстрого вызова siri (INUIAddVoiceShortcutButton) на 2-м контроллере вида автоматически выбирает первый ярлык (созданный на 1-м контроллере вида) и показывает «Добавлено в Siri» с предложенной фразой вместо отображения кнопки «Добавить в Siri». Я дважды проверил, что каждыйNSUserActivity имеет другой идентификатор, но все равно каким-то образом выбирает неправильный ярлык.

View Controller 1:

let userActivity = NSUserActivity(activityType: "com.activity.type1")
userActivity.isEligibleForSearch = true
userActivity.isEligibleForPrediction = true
userActivity.title = shortcut.title
userActivity.suggestedInvocationPhrase = suggestedPhrase

let attributes = CSSearchableItemAttributeSet(itemContentType: kUTTypeItem as String)
attributes.contentDescription = description
userActivity.contentAttributeSet = attributes
let shortcut = INShortcut(userActivity: userActivity)
let siriButton = INUIAddVoiceShortcutButton(style: .whiteOutline)
siriButton.translatesAutoresizingMaskIntoConstraints = false
siriButton.shortcut = shortcut
self.view.addSubview(siriButton)

View Controller 2:

let userActivity2 = NSUserActivity(activityType: "com.activity.type2")
userActivity2.isEligibleForSearch = true
userActivity2.isEligibleForPrediction = true
userActivity2.title = shortcut.title
userActivity2.suggestedInvocationPhrase = suggestedPhrase

let attributes = CSSearchableItemAttributeSet(itemContentType: kUTTypeItem as String)
attributes.contentDescription = description
userActivity2.contentAttributeSet = attributes

let shortcut = INShortcut(userActivity: userActivity2)
let siriButton = INUIAddVoiceShortcutButton(style: .whiteOutline)
siriButton.translatesAutoresizingMaskIntoConstraints = false
siriButton.shortcut = shortcut
self.view.addSubview(siriButton)

Аналогичная вещь происходит, когда я удаляю приложение и переустанавливаю, не удаляя ярлыки из приложения настроек телефона.

Ответы на вопрос(2)

Ваш ответ на вопрос