ios - 仅在应用程序处于后台时调用静音通知回调方法

标签 ios iphone notifications apple-push-notifications

我注册了远程通知,它的工作原理绝对不错。现在,我正在实现静默通知。为此,我启用了后台远程通知,并且App从网络下载了内容。

然后发送

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

仅在应用程序在后台运行时才调用以下回调方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler

在这种方法中,我从服务器下载了一些数据后便触发了本地通知。但是,当应用程序不在后台时,此方法根本不会调用。

Push Notification上的Apple文档中,他们说:

“当收到静默通知时,iOS 会在后台中唤醒您的应用程序,以便您可以从服务器中获取新数据或进行后台信息处理。”

理想情况下,静默远程通知应在后台唤醒我的应用程序,而本地通知应可以正常工作。

有什么想法吗?

最佳答案

经过大量苹果文档阅读后,我发现如果用户强制退出应用程序,则不会调用方法(didReceiveRemoteNotification:fetchCompletionHandler)。

如所写,(link)
但是,如果用户强制退出应用程序,系统不会自动启动您的应用程序。在这种情况下,用户必须重新启动您的应用程序或重新启动设备,然后系统才会尝试再次自动启动您的应用程序。

关于ios - 仅在应用程序处于后台时调用静音通知回调方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30311771/

相关文章:

ios4 - iPhone 应用程序中的谷歌 Adsense

ios - 使用 sprite 工具包的级别菜单的持久性

ios - google maps route between 2 points with multi waypoints swift ios

iphone - 我应该为哪些核心数据错误做准备?

iphone - 从 iPhone 中的 url 检索数据

android - 应用程序不再运行时 GCM 推送通知不起作用

javascript - 在 Firefox 中连续使用 Notifications API 的多个通知

android - 远程推送通知和终止的应用程序

iphone - 如何在 Xcode 4.0.2 或 Xcode 3.2.5 中构建 Xcode 4.2 + ios5.0 beta 应用程序?

ios - UIImagePickerController 大小 iPhone 5