iOS 等效的 OSRemoteNotificationReceivedHandler

OSRemoteNotificationReceivedHandler equivalent for iOS

我可以在 Android 中选择接收推送通知,但在 IOS 中我找不到等效的方法来执行相同的操作。

在 android 我可以覆盖:

@Override
public void remoteNotificationReceived(Context context, OSNotificationReceivedEvent notificationReceivedEvent) {
    OSNotification notification = notificationReceivedEvent.getNotification();
    notificationReceivedEvent.complete(notification);
    <-- I can do something with the notification data here.
}

如何在 iOS 中执行相同的操作?

我正在使用一个信号,如果这有什么不同的话。

在 iOS 上,用户必须选择接收通知。我建议遵循整个过程的教程。 Here 是 Ray Wenderlich 的教程。

假设您已完成所有设置,您要查找的代码位于 UNUserNotificationCenterDelegate 中。具体来说,

@available(iOS 10.0, *)
optional func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)

@available(iOS 10.0, *)
optional func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse) async

取决于你是想要异步还是闭包。