【发布时间】:2015-03-03 15:02:00
【问题描述】:
我一直在测试自 iOS 7 以来可用的静默通知功能。
我的应用程序面向 iOS 7 和 UP。
我正在 iPhone6 设备上进行测试。
当我的 iPhone 连接到计算机并且 Xcode 正在运行应用程序时,我的应用程序似乎一切正常。所有静默通知都 100% 有效,它们也会显示在我的应用程序中。
但是,如果我停止 Xcode 并发送静默通知 - 我的设备根本不会收到静默通知。
我做了很多研究,但没有任何东西给我答案,也没有帮助我确定发生了什么。
我没有终止我的应用程序。所以,这不是问题。您仍然可以在应用切换器中看到该应用。
我的应用程序确实会收到定期推送通知(使用和不使用 Xcode)。问题在于静默通知。
找到了这些(但它们并没有帮助我解决问题):
- IOS 8 Silent push notification not working without Xcode
- iOS silent push notification only works when connected to xcode
我也将“优先级”标签添加到我的 JSON 有效负载中......但仍然没有运气。
这是我的有效载荷:
$body['aps'] = array(
'content-available' => 1,
'alert' => $message,
'Priority' => 10,
'sound' => 'default'
);
我什至尝试过所有小写的“优先级”。
我的手机确实收到警报并发出声音。但是,如果用户选择“应用程序图标”而不是横幅警报 - 它不会收到静默通知。这只发生在我的应用程序未连接并从 Xcode 运行时。
另外,我正在使用开发者证书和配置文件。
更新 1:
发现优先级设置应该是二进制通知的一部分,而不是 APNS 有效负载。
我从有效负载中删除了“优先级”,并将二进制通知配置为命令 2。
用 Xcode 测试。一切正常。在没有 Xcode 的情况下进行了测试。还是同样的问题。 =(
更新 2
我在 iPhone 4 设备上测试了该应用程序。无论是否使用 Xcode,静默通知都可以使用。因此,这一定是 iOS 8 设备的严格问题。
更新标题以仅反映 iOS 8。我不确定如何为 iOS 8 设备解决此问题。有人有什么建议吗?
【问题讨论】:
标签: ios xcode apple-push-notifications