Невозможно установить отдельную фразу быстрого доступа Siri через INUIAddVoiceShortcutButton, если в одном представлении есть две кнопки - PullRequest
0 голосов
/ 14 сентября 2018

Я не могу установить отдельные сочетания клавиш Siri с помощью INUIAddVoiceShortcutButton, если в одном представлении есть две кнопки.Как только я записываю фразу для одной кнопки, другая кнопка переключается в режим редактирования вместе с первой кнопкой.Как я могу решить эту проблему?

Экран перед записью фразы Экран после записи фразы

func firstShortcut() {

    let activity1 = NSUserActivity(activityType: "com.test.first")
    activity1.title = "Log first activity"
    activity1.isEligibleForSearch = true
    activity1.suggestedInvocationPhrase = "Log my first activity"
    activity1.isEligibleForPrediction = true
    activity1.persistentIdentifier = "com.test.first"
    view.userActivity = activity1
    activity1.becomeCurrent()

    let addShortcutButton = INUIAddVoiceShortcutButton(style: .whiteOutline)
    addShortcutButton.shortcut = INShortcut(userActivity: activity1)
    addShortcutButton.delegate = self
    addShortcutButton.translatesAutoresizingMaskIntoConstraints = false
    addSiriShortcutView1.addSubview(addShortcutButton)
    addSiriShortcutView1.centerXAnchor.constraint(equalTo: addShortcutButton.centerXAnchor).isActive = true
    addSiriShortcutView1.centerYAnchor.constraint(equalTo: addShortcutButton.centerYAnchor).isActive = true
}

func secondShortcut() {

    let activity2 = NSUserActivity(activityType: "com.test.second")
    activity2.title = "Log second activity"
    activity2.isEligibleForSearch = true
    activity2.suggestedInvocationPhrase = "Log my second activity"
    activity2.isEligibleForPrediction = true
    activity2.persistentIdentifier = "com.test.second"
    view.userActivity = activity2
    activity2.becomeCurrent()

    let addShortcutButton = INUIAddVoiceShortcutButton(style: .whiteOutline)
    addShortcutButton.shortcut = INShortcut(userActivity: activity2)
    addShortcutButton.delegate = self
    addShortcutButton.translatesAutoresizingMaskIntoConstraints = false
    addSiriShortcutView2.addSubview(addShortcutButton)
    addSiriShortcutView2.centerXAnchor.constraint(equalTo: addShortcutButton.centerXAnchor).isActive = true
    addSiriShortcutView2.centerYAnchor.constraint(equalTo: addShortcutButton.centerYAnchor).isActive = true
}
...