gpt4 book ai didi

ios - 将应用程序从后台转到前台时无法触发 didReceive 通知委托(delegate)

转载 作者:行者123 更新时间:2023-11-28 20:49:15 27 4
gpt4 key购买 nike

我已经为 ios10 实现了推送通知。点击通知警报将触发“didReceive”委托(delegate),如果我将通知保存在核心数据中,或者如果我在前台则为静默通知。问题是如果我在后台收到一堆通知并且当我将我的应用程序从后台带到前台时,是否有可能调用“didReceive”委托(delegate)或任何其他推送通知委托(delegate)我可以将我的项目同步到核心数据。

注意我不想使用静默通知或点击警报来同步(didReceive 或任何委托(delegate))后台项目。当我将应用程序带到前台时,它应该会自动同步推送通知堆栈

     func handleInboxNotification(didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
if let inboxValue = userInfo["inbox"] as? String, let value = inboxValue.boolValue(), value {
let mappedMessage = MessageCenterSDK.shared.constructReorderedDictionary(userInfo: userInfo)
MessageCenterDataManager.shared.synchronize(messages: mappedMessage)
messageCenterDelegate?.didFindNewMessages(hasNewMessages: true)
}
}


func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
/// Handle outbound remote
handleInboxNotification(didReceiveRemoteNotification: response.notification.request.content.userInfo)
completionHandler()
}

最佳答案

我遇到了同样的问题,但我的目标是 iOS 13 并且我正在使用 BGTaskScheduler 在后台以及终止状态下从服务器获取数据。

我也想在应用程序处于后台时触发通知。但没有被窃听,但这似乎是不可能的,所以我们通过启用后台模式改变了我们的实现,它对我有用。

希望对您有所帮助。

有关 BGTaskScheduler 的更多引用,https://developer.apple.com/documentation/backgroundtasks/bgtaskscheduler

关于ios - 将应用程序从后台转到前台时无法触发 didReceive 通知委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59423923/

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