这是我的 didReceiveRemoteNotification 代码:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
print("notification recieved: \(userInfo)")
// Pass push notification payload to the shared model
let payload: NSDictionary = userInfo as NSDictionary
if let variable = payload["variable"] as? String {
NotificationManager.SharedInstance.handleVariableNotification(variable)
}
}
当我从应用程序外部点击通知时,代码可以正常工作并正确地执行我想要的操作。
我的问题是:如果我在应用程序中收到通知,它仍会运行通知中的代码并覆盖用户当前在应用程序中执行的任何操作
我只希望代码在用户点击通知时运行,如果我已经在应用中则不会自动运行。
提前致谢!
最佳答案
将您的代码包装在:
if (application.applicationState != .active){}
它将检查您当前是否在应用程序中,并且仅当应用程序处于非事件状态或在后台时才触发代码。
关于ios - Swift didReceiveRemoteNotification 在应用程序中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45888890/