gpt4 book ai didi

应用程序关闭时的 IOS 通知

转载 作者:可可西里 更新时间:2023-11-01 05:25:16 26 4
gpt4 key购买 nike

我有一个 ios 应用程序,当我从服务器发送通知时,我会向其发送远程通知,我正在设置 content -available = 1sound = ""在 IOS 设备上我正在使用

applicaiton(didReceiveRemoteNotification:fetchCompletionHandler:)

我看到应用程序在后台时访问了这个方法但是当应用程序关闭时这个方法没有被调用但是当应用程序关闭时没有被调用

applicaiton(didReceiveRemoteNotification:fetchCompletionHandler:)

我在这个方法中的处理程序是

        let userInfoDic = userInfo as NSDictionary as? [String: Any]
let cato = userInfoDic?["cato"] as? String
if cato == "message" {
let state: UIApplicationState = UIApplication.shared.applicationState
if state == .active{
print("Application is Active Socket IO will Handle This")
}else{
let apnMessage = userInfoDic?["apnMessage"] as? [String: Any]
if (apnMessage == nil){
print("Error Fetching Message")
}else{
let count = UserDefaults.standard.integer(forKey:"TotalUnredMessage")

DispatchQueue.main.async {
UIApplication.shared.applicationIconBadgeNumber = count + 1
}
UserDefaults.standard.set(count, forKey: "TotalUnredMessage")
}
}

那么我应该改变什么才能让这个方法在应用程序关闭时运行

谢谢

最佳答案

didReceiveRemoteNotification 方法不会在应用程序关闭时调用。

但是您可以在 appdelegate 的 didFinishLaunchingWithOptions 方法中检查 launchOptions 以了解应用程序是否已根据通知启动,并相应地执行您的任务。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {

if launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] != nil {
// Do your task here
}

}

关于应用程序关闭时的 IOS 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45057772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com