ios - 应用程序 :didReceiveRemoteNotification:fetchCompletionHandler Not Called

标签 ios objective-c ios7 apple-push-notifications

当应用程序被强制退出时,函数 application:didReceiveRemoteNotification:fetchCompletionHandler 似乎没有被调用。我的印象是无论应用程序处于什么状态都会调用该函数,但似乎只有当应用程序已经在后台运行时才会调用它。如果应用程序尚未使用新的 iOS 7 远程通知后台模式运行,是否有办法在后台唤醒该应用程序?

最佳答案

application:didReceiveRemoteNotification:fetchCompletionHandler: 即使应用程序暂停、根本不运行、后台运行或处于事件状态,也会被调用。还值得注意的是,该方法仅适用于 iOS 7。这是 apple documentation .

但是,如果应用程序被强制关闭(即通过应用程序切换器终止),应用程序将不会启动。(参见 SO answer ) 编辑: 我在 iOS 7.1 上再次检查了这个问题,看他们是否修复了这个问题,但情况仍然如此,如果应用程序被手动终止,应用程序将不会被唤醒并且 application:didReceiveRemoteNotification :fetchCompletionHandler: 不会被调用

收到推送时,应用仅在“需要时”被唤醒以调用 application:didReceiveRemoteNotification:fetchCompletionHandler: 方法(即您必须在内部设置“content-available”标志推送通知负载。参见 SO answer )。如果用户随后通过点击通知打开应用,将再次调用该方法。

编辑:还没有在 iOS 8 上检查过这个。还有其他人吗?

关于ios - 应用程序 :didReceiveRemoteNotification:fetchCompletionHandler Not Called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18856204/

相关文章:

ios - Swift:在多个 View Controller 和数组之间保持数据副本一致

ios - 电子邮件的附件 - 收到时文件不存在

iphone - 检测 iPhone 颜色

iphone - 点击 uitableviewcell iOS 后加载 uiviewcontroller

ios - 最后一个单元格不断出现在 myUITableView 上

ios - 我可以将图像从我的应用程序复制到 iOS 中的邮件应用程序吗

iphone - Objective C 数组元素都以相同的值结束

ios - 24 小时制不格式化日期

iOS 7 uinavigationcontroller 如何检测滑动?

php - 未经授权的错误 401 GCM 错误