2

我已经为我的应用程序设置了静默推送通知: 1. 我配置了来自所有地方的推送通知,即 XCode、Apple 开发者门户以及适当的证书 2. 我启用了后台功能 3. 我在json有效载荷。

但是,我的应用程序有时无法收到静默推送。

更具体地说,两者都不是

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
    ......
}

也不

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

推送消息到达时被调用。

如何在这种状态下获取推送通知中的信息?

我在网上等。

4

1 回答 1

3

你的问题是双重的:1.为什么不能调用两个委托回调 2.你应该怎么做才能接收数据。

我做了一些手工测试,结果如下:

1、当app处于killed状态时,确实不能调用这两个回调 2、但是下次打开app时,

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    ......
}

可以调用,您可以从那里获取数据。

我希望这很有用。

于 2017-07-05T04:14:26.820 回答