ユーザーがUILocalNotification
をタップすると、特定の画面でアプリを起動しようとしています。ここに私のコードはAppDelegate
である:iOS UILocalNotification特定の画面を起動する
// MARK: - Local Notification
func application(_ application: UIApplication, didReceive notification: UILocalNotification)
{
if (application.applicationState == UIApplicationState.active)
{
print("Active")
}
else if (application.applicationState == UIApplicationState.background)
{
print("Background")
}
else if (application.applicationState == UIApplicationState.inactive)
{
print("Inactive")
print(notification.userInfo as Any)
self.redirectToPage(userInfo: notification.userInfo as! [String : String])
}
}
func redirectToPage(userInfo: [String : String]!)
{
if userInfo != nil
{
if let pageType = userInfo["TYPE"]
{
if pageType == "Page1"
{
let storyboard = UIStoryboard(name: "Main", bundle: nil)
self.window?.rootViewController = storyboard.instantiateViewController(withIdentifier: "promoVC")
}
}
}
}
アプリがバックグラウンドまたは非アクティブ状態にあるが、それが中断されたときに、UILocalNotification
をタップすると、デフォルト画面でアプリを起動したときにそれが正常に動作します。一時停止状態のときに特定の画面でアプリを起動するにはどうすればよいですか?
アプリが停止すると、通知は 'didFinishLaunchingWithOptions'メソッドによってキャッチされています。 – ridvankucuk