Я разрабатываю приложение WatchOS3
, в котором пользователь получает локальные уведомления с настраиваемыми действиями. У пользователя есть 2 пользовательских действия, которые он может вызывать для уведомления, вариант 1 и вариант 2. После того, как пользователь нажмет одну из опций, приложение должно запустить в определенное представление.Как открыть определенный контроллер просмотра из пользовательского действия уведомления в WatchOS 3
До сих пор действия уведомления правильно обработаны с помощью этой функции в ExtenionsDelegate
:
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping() -> Void) {
print("Tapped in notification")
let identifier = response.actionIdentifier
print(identifier)
switch(identifier){
case "option1":
print("tapped option1")
case "option2":
print("tapped option2")
default: break
}
completionHandler()
}
А вот код из моего основного InterfaceController
, в котором определены уведомления категории:
func actioncategories() {
let option1 = UNNotificationAction(identifier: "option1", title: "Test Option 1", options: .foreground) //Button 1
let option2 = UNNotificationAction(identifier: "option2", title: "Test Option 2", options: .foreground) //Button 2
let actioncategory = UNNotificationCategory(identifier: "action_category", actions: [option1, option2], intentIdentifiers: [])
UNUserNotificationCenter.current().setNotificationCategories([actioncategory]) //setting actions & categories
}
Теперь, как я могу сообщить моему приложению, чтобы он запускался в конкретное представление при выборе опции 1 или option2?