触发通知屏幕锁定

Triggering notification screen locked

在我的 Swift iOS 应用程序中,当应用程序 运行 或用户收到通知并点击时,我能够捕捉到收到通知收到通知后。

但是,如果用户在应用程序之外收到通知并单击主屏幕上的应用程序图标而不是单击通知标记,则应用程序不会检测到收到通知。我如何让它工作?

我的应用委托内部:

  func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
}

if let remoteNotification = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary {
}

在 didReceiveRemoteNotification 委托中,您可以保存收到通知的值,然后在 applicationWillEnterForeground 上,您可以检查该值并采取相应行动。

这行不通。关键在于,如果用户点击通知与不点击通知,应该会发生不同的事情。如果用户故意忽略通知但随后单击应用程序图标,然后应用程序仍然对通知采取行动,这对用户来说将是意想不到的行为。想象一下,尝试通过不单击通知来忽略 Messages.app 中的一条消息,但是否则您将无法打开该应用程序,因为它会根据通知进行操作。