我正在使用FCM进行推送通知。我曾经使用以下方法刷新应用程序的内容
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
现在在iOS13中,此方法不再触发。我也包括了 apns-push-type 和 apns-priority。
我发现了这个问题。
UIApplication.shared.registerForRemoteNotifications()
这必须在每次启动时运行。最好将其保留在didFinishLoadWithOptions方法中。在我以前的版本中,我曾经第一次调用它,但看起来每次发布都必须如此。
并确保还设置了通知和消息的委托。
UNUserNotificationCenter.current().delegate = self
Messaging.messaging().delegate = self
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if #available(iOS 13.0, *) {
// your code
completionHandler(UIBackgroundFetchResult.newData)
} else {
}
}
- 还要检查 FCM 上的 APNS 证书,它必须 .p12 类型必须在您用于当前 XCode 版本的钥匙串中可用