IOS 没有在后台收到第一条通知

IOS doesn't receive first notification in background

IOS 13.7 IPhone Xr,Xcode 版本 11.7 (11E801a)

我编辑了应用方案并将启动模式设置为“等待可执行文件启动”。我 运行 应用程序,并在我的设备上发送一个简单的通知。

这条通知:

{
"aps":{
    "content-available":1
      }
}

in xcode 状态从“等待附加到 iPhone 测试”更改为“运行 测试 iPhone”,但未收到通知.

我尝试用这种方法捕捉通知:

 func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)

下次通知我收到成功了。这种情况可以在应用程序重新加载后重复。

你能帮我看看为什么我没有收到第一条通知吗

请尝试此负载:

{"aps":{"警报":"","content-available":1}}

如果您的应用不是 运行,推送通知会在 launchOptions

中传递给您的 AppDelegate
    override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        ...
        let notificationOption = launchOptions?[.remoteNotification]
        if let notification = notificationOption as? [String:AnyObject]{
           // received notification
        }
        ...
    }