0

iOS 10 UserNotifications フレームワークを使用して、非常に基本的なことをしようとしています。デフォルトのアクションが選択されているときに特定の ViewController を開きます。私は多くのチュートリアルを経験してきましたが、それらはすべてカスタム カテゴリとアクションに焦点を当てており、アクションを決定した後に特定の ViewController を起動するためのコードも実際には示していません (これは単にコメントまたは印刷として残されています)。声明)。

可能なことに応じて、次の2つのいずれかを実行したいと考えています。

  1. ストーリーボードの初期ビュー コントローラーではないモーダル ビュー コントローラーをインスタンス化して表示する、または
  2. 最初のViewControllerを表示しますが、最初にいくつかの情報を挿入して、この情報を使用して次にどのViewControllerにセグエするかを決定できるようにします。

私の AppDelegate は、自身を UNUserNotificationCenterDelegate として設定します。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Make this object responsible for handling notification events.
    UNUserNotificationCenter.current().delegate = self
    return true
}

そして、次を使用して、選択されている ViewController をオーバーライドします。

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {

    switch response.actionIdentifier {
    case UNNotificationDismissActionIdentifier:
        // Notification was dismissed. Do nothing.
        completionHandler()
    case UNNotificationDefaultActionIdentifier:
        // App opened from notification.
        // ??? Select ViewController to show based on information found in the notification ???
        completionHandler()
    default:
        completionHandler()
    }
}
4

0 に答える 0