我正在尝试设置我的应用,以便在从本地通知打开时打开特定页面。我已设置didReceiveLocalNotification来打印通知信息。这已经工作了几天,但我今天才注意到,当我从xcode启动我的应用程序时,会调用didReceiveLocalNotification,并打印上次预定通知(几小时前)的信息。
这是我的代码:
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
// If app is opened from a local notification while running in background, print notification info.
if(application.applicationState == .Active){
print(notification)
print("app opened from notification")
}
}
我已经看到一些线程,人们在同一个本地通知中调用了两次didReceiveLocalNotification,但这是不同的。我每次登录应用程序时都会调用它,打印有关四小时前发出的通知的信息。如何确保仅在通知打开应用程序时调用didReceiveLocalNotification?
赞赏任何和所有建议。
答案 0 :(得分:3)
你可以这样测试:
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
print("notification - tapped")
if application.applicationState == UIApplicationState.Active {
print("App already open")
} else {
print("App opened from Notification")
}
}
}
您可以关闭应用,但不要终止测试。