// Create the button
let button = INUIAddVoiceShortcutButton(style: .blackOutline)
// Generate the activity (using utilities framework)
let newActivity = UserActivity.getUserActivity(identifier: currentMode.identifier, title: currentMode.title, subtitle: currentMode.subtitle, bundleIdentifier: "com.benrobinson.anxietyrelief")
newActivity?.suggestedInvocationPhrase = currentMode.phrase
// Create Shortcut
let shortcut = INShortcut(userActivity: newActivity!)
// Assign to button
button.shortcut = shortcut
// Set delegate to self (must conform to INUIAddVoiceShortcutButtonDelegate, INUIAddVoiceShortcutViewControllerDelegate, INUIEditVoiceShortcutViewControllerDelegate)
button.delegate = self
// Set constraints / size
button.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint(item: button, attribute: NSLayoutConstraint.Attribute.height, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute: NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: 60).isActive = true
// Embed in view (in this case siriView)
siriView.addSubview(button)
siriView.centerXAnchor.constraint(equalTo: button.centerXAnchor).isActive = true
siriView.centerYAnchor.constraint(equalTo: button.centerYAnchor).isActive = true