如何在iOS中触发didReceiveRemoteNotification?

How to trigger didReceiveRemoteNotification in iOS?

每当从我的服务器发送静默通知时,都会触发以下函数:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
    print("Received Silent Notification")

}

但是,此功能仅在应用程序在屏幕上可见(也就是在前台)时触发。如果我点击主页按钮,然后从我的服务器发送静默通知,我的沙盒设备上不会触发任何内容。

我正在构建一个基于用户注册的电子邮件验证系统,服务器轮询将无法大规模工作。

这是我的 Info.plist 的样子:

<key>UIBackgroundModes</key>
<array>
    <string>fetch</string>
    <string>processing</string>
    <string>remote-notification</string>
</array>

这是沙盒错误吗?如何让应用程序在后台时触发上述功能?

尝试使用

application(_:didReceiveRemoteNotification:fetchCompletionHandler:)

当应用运行在前台或后台时,系统会调用此方法。虽然仅当应用程序在前台 运行 时才会调用您使用的委托方法。