【发布时间】:2017-03-01 08:14:13
【问题描述】:
当使用"content-available": "1" 向被用户杀死的应用程序发送后台推送时,应用程序不会启动到后台模式并且application:didReceiveRemoteNotification:fetchCompletionHandler: 不会被称为Apple doc say:
使用此方法为您的应用处理传入的远程通知。 [...]此外,如果您启用了远程通知后台模式,系统将启动您的应用程序(或将其从挂起状态唤醒)并在远程通知到达时将其置于后台状态。 但是,如果用户强制退出,系统不会自动启动您的应用。
我的问题是:有什么方法可以在用户下次启动应用程序时访问这个静默推送负载?
我尝试使用didFinishLaunchingWithOptions 方法的launchOptions,但它们不包含推送有效负载。
NSDictionary *userInfo = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];
我的用例是我只依靠推送通道来接收应用程序的数据,但应用程序不能拉它们。
【问题讨论】:
-
依赖推送可能是个坏主意,如果用户拒绝推送通知的权限怎么办?或者随后将其关闭?
-
用户权限不影响静默推送。即使用户关闭此推送通知,应用仍然可以接收静默有效负载
-
啊。那我今天学到了新东西!
-
@Jan 你找到什么了吗?我现在有点这种情况?在这种情况下我应该使用什么策略?
-
当应用程序被杀死时,没有办法接收任何远程推送,所以你只需要接受 :) 我认为 Apple 是“按设计”这样做的
标签: ios apple-push-notifications