我正在使用Maccatalyst将iOS / iPadOS应用程序移植到MacOS。该应用程序使用CloudKit并以各种方式使用功能,但有以下一种功能:当从另一台设备提交CloudKit更新时,在MacOS版本上不会调用UIApplicationDelegate
方法didReceiveRemoteNotification
在应用程序中起作用的东西:
- 提交
CKDatabaseOperation
,包括CloudKit的更新和订阅 - 从CloudKit手动检索数据库更新
-
UIApplicationDelegate
方法didRegisterForRemoteNotificationsWithdevicetoken
触发,并且在调用UIApplication.isRegisteredForRemoteNotifications
时UIApplication.registerForRemoteNotifications
返回true - 设置
CKSubscription.NotificationInfo
以调用在MacOS中正确显示的警报通知 -
UNUserNotificationCenterDelegate
方法willPresent
,当调用警报通知且应用程序位于前台时 -
didReceiveRemoteNotification
在iOS和iPad(物理设备)上
使用Maccatalyst时有人调用过UIApplicationDelegate
方法didReceiveRemoteNotification
吗?
更新:
该应用程序最终在发送更新后30分钟确实触发了didReceiveRemoteNotification
方法,但是在其他更新上,即使经过几个小时也没有触发该方法。有什么想法吗?