在我的Swift iOS应用程序中,我能够捕获收到通知,应用程序运行时,或用户收到通知并在收到通知后单击通知。
但是,如果用户在应用程序外部收到通知并单击主屏幕上的应用程序图标而不是单击通知徽章,则应用程序不会检测到收到通知。我如何让它工作?
我的应用代表内部:
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
}
if let remoteNotification = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary {
}
答案 0 :(得分:2)
这不会奏效。重点是,如果用户点击通知而不是点击通知,则会发生不同的事情。如果用户故意忽略通知但随后单击应用程序图标然后应用程序仍然对通知采取行动,则会出现意外行为。想象一下,如果不点击通知,试图忽略Messages.app中的消息,但是否则你将无法打开应用程序,因为它会对通知起作用。
答案 1 :(得分:1)
在didReceiveRemoteNotification委托中,您可以保存收到通知的值,然后在applicationWillEnterForeground上,您可以检查该值并采取相应的行动。