WatchOS3
ユーザーがカスタム アクションでローカル通知を受け取るアプリケーションを開発しています。ユーザーには、オプション 1 とオプション 2 の通知で呼び出すことができる 2 つのカスタム アクションがあります。ユーザーがオプションのいずれかをタップすると、アプリは特定のビューで起動する必要があります。
これまでのところ、通知アクションは次の関数で正しく処理されてい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 またはオプション 2 のいずれかがタップされたときに特定のビューを起動するようにアプリケーションに指示するにはどうすればよいでしょうか?