0

我正在尝试使用 iOS 10 UserNotifications 框架来做一些非常基本的事情:选择默认操作时打开特定的 ViewController。我已经阅读了许多教程,但它们都专注于自定义类别和操作,并且它们也没有真正显示在确定操作后启动特定 ViewController 的代码(这只是作为评论或打印留下陈述)。

我想做两件事之一,这取决于可能的情况:

  1. 实例化并显示一个模式 ViewController,它不是故事板的初始视图控制器,或者
  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