SpringBoard[48] <警告>:高优先级推送:[Bundle ID] - BAR Disabled

Posted

技术标签:

【中文标题】SpringBoard[48] <警告>:高优先级推送:[Bundle ID] - BAR Disabled【英文标题】:SpringBoard[48] <Warning>: High Priority Push: [Bundle ID] - BAR Disabled 【发布时间】:2016-04-12 08:43:37 【问题描述】:

问题

为发布应用版本发送静默通知会显示下一个日志: SpringBoard[48] &lt;Warning&gt;: High Priority Push: [Bundle ID] - BAR Disabled

有什么想法吗?酒吧禁用?? 看起来当“BAR Disabled”日志出现时,方法(didReceiveRemoteNotification - fetchCompletionHandler)没有被调用。

更多信息

在测试的 iphone 4s 和 iphone6 的生产应用程序中出现 BAR 禁用日志 BAR Disabled Log 未出现在测试的 iPhone5 中,调用了 fetchCompletionHandler。 调试时未显示 BAR 禁用日志。 BAR 禁用日志显示参数“content-available”:1 用 swift 和 Objective-c 测试 已使用分发配置文件 (testflight) 和临时配置文件 (itunes) 进行测试 ios 版本 9.3.1

通知

"aps":"alert":"Test","sound":"default","content-available":1, "data" : 345

结果

显示带有文本“Test”的通知并播放默认声音但 fetchCompletionHandler 没有被调用,只是一个日志: SpringBoard[48] &lt;Warning&gt;: High Priority Push: [Bundle ID] - BAR Disabled

【问题讨论】:

【参考方案1】:

BAR Disabled 表示后台应用刷新未启用,因此应用无法执行 fetchCompletionHandler。

从设备转到“设置”>“常规”>“后台应用刷新”并打开“后台应用刷新”。 如果您从应用切换器中退出某个应用,则它可能无法在您再次打开之前运行或检查新内容。

有关后台应用刷新 (BAR) 的更多信息:

这是在 10 分钟宽限期内有效的另一回事。允许启用 BAR 的应用程序不时唤醒,直到它从应用程序切换器退出或手机重新启动/重新启动。这里没有 10 分钟的限制,重要的是要了解 BAR 与背景不同。 “醒来”是指“睁开一只困倦的眼睛并下载一些东西,然后直接回去睡觉”。如果你从应用切换器中终止应用,它的 BAR 权限也会消失。

支持 BAR 的应用通常会在适当的时候唤醒以进行自我更新。这些时刻包括:

当设备正在使用中时 当设备连接到 wifi 和/或电源时 收到应用的推送通知时 位置变化时

来自 Apple 自己:iOS 会根据您对设备的使用情况学习模式,并尝试预测应用何时应在后台进行 BAR 更新。它还会了解设备何时通常处于非活动状态(例如在夜间),以在设备不使用时减少更新频率。

感谢 /u/Niruga 共享的信息,还有所谓的“静默”推送通知,应用程序可以利用它来唤醒他们的应用程序以进行 BAR 更新。用户看不到静默推送通知。

例如,Dropbox 使用 BAR 和位置来保持其照片上传工作超过 10 分钟,直到完成上传为止。它不会不断上传,因为这不是 BAR 所做的。因此,Dropbox 中发生的情况是,它使用位置更改使应用程序唤醒并上传 10 分钟,然后再进入睡眠状态,然后等待下一次位置更改以使应用程序再次唤醒并从中断处继续,然后重复直到所有上传完成,用户无需在前台保持应用打开。

要决定是否启用 BAR,请考虑您是否相信应用开发者不会滥用该功能。

希望对您有所帮助。

参考:https://www.reddit.com/r/jailbreak/comments/3eao32/discussion_write_up_ios_backgrounding_and/

【讨论】:

以上是关于SpringBoard[48] <警告>:高优先级推送:[Bundle ID] - BAR Disabled的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoard 无法启动应用程序并出现错误:-3

我的应用在 Springboard 上的名称可以跨越两行吗?

警告:预期的服务器 HTML 在 <div> 中包含匹配的 <body>

当我在 android 中使用哈希映射时显示警告(使用新的 SparseArray<String>)

CloudKit 订阅错误:apsd[81] <警告>:静默推送:拒绝应用程序不可用

PHP:php错误/警告/通知的双重输出