iOS 在后台注册通知

Posted

技术标签:

【中文标题】iOS 在后台注册通知【英文标题】:iOS Register for notifications in background 【发布时间】:2017-12-04 07:49:44 【问题描述】:

如果用户长时间不运行应用程序,我需要刷新推送令牌。我尝试使用后台模式和应用程序:performFetchWithCompletionHandler: 方法。在这个方法中,我调用了 - registerUserNotificationSettings:(UIUserNotificationSettings )notificationSettings。然后我希望 didRegisterUserNotificationSettings (UIUserNotificationSettings)notificationSettings 会被调用,但这不会发生。有什么方法可以在不运行app的情况下注册APNS?

【问题讨论】:

【参考方案1】:

简单的答案是否定的

APN 可以出于多种原因颁发新的设备令牌:

用户在新设备上安装您的应用 用户从备份中恢复设备 用户重新安装操作系统 其他系统定义的事件 因此,应用必须在启动时请求设备令牌,如 APNs 到设备的连接信任和设备令牌中所述。有关代码示例,请参阅注册以接收远程通知。

Apple 文档:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html

【讨论】:

以上是关于iOS 在后台注册通知的主要内容,如果未能解决你的问题,请参考以下文章

应用程序在后台时未触发 iOS 本地通知

在后台 iOS Xcode 中获取信标通知

如何在后台接收 iOS 4 中的 ALAssetsLibrary 更改通知

iOS swift中没有收到推送通知?

从后台注册本地通知

iOS 4:是不是可以在电话通话期间显示本地通知?