iOS 8 台设备上没有 Xcode 的静默通知问题
Silent Notification Issues without Xcode on iOS 8 Devices
我一直在测试自 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
我也已将 "Priority" 标签添加到我的 JSON 有效负载中......但仍然没有成功。
这是我的有效载荷:
$body['aps'] = array(
'content-available' => 1,
'alert' => $message,
'Priority' => 10,
'sound' => 'default'
);
我什至 "priority" 都试过了 lower-cased。
我的 phone 收到警报并发出声音。但是,如果用户选择 "app icon" 而不是横幅警报——它不会收到静默通知。只有当我的应用程序未连接并且 运行 来自 Xcode.
时才会发生这种情况
此外,我正在使用开发人员证书和配置文件。
更新 1:
发现优先级设置应该是二进制通知的一部分,而不是 APNS 负载。
我从负载中删除了 "priority" 并将二进制通知配置为命令 2。
使用 Xcode 测试。一切正常。在没有 Xcode 的情况下进行测试。还是一样的问题。 =(
更新 2
我在 iPhone 4 设备上测试了该应用程序。静默通知在有或没有 Xcode 的情况下都有效。因此,这一定是 iOS 8 台设备的严格问题。
正在更新标题以仅反映 iOS 8。我不确定如何为 iOS 8 设备解决此问题。有人有什么建议吗?
好的,所以我终于解决了为什么静默通知在 iOS 8 台设备上不起作用。
在您从 PHP 脚本发送的二进制通知中,优先级必须设置为 5。当您不是 运行 来自 Xcode.
我不知道为什么应用程序在 Xcode 中的 运行 时使用 10 -- 这就是为什么很难确定问题所在的原因。我也不知道为什么 10 的优先级适用于 iOS 7 台设备。
我一直在测试自 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
我也已将 "Priority" 标签添加到我的 JSON 有效负载中......但仍然没有成功。
这是我的有效载荷:
$body['aps'] = array(
'content-available' => 1,
'alert' => $message,
'Priority' => 10,
'sound' => 'default'
);
我什至 "priority" 都试过了 lower-cased。
我的 phone 收到警报并发出声音。但是,如果用户选择 "app icon" 而不是横幅警报——它不会收到静默通知。只有当我的应用程序未连接并且 运行 来自 Xcode.
时才会发生这种情况此外,我正在使用开发人员证书和配置文件。
更新 1:
发现优先级设置应该是二进制通知的一部分,而不是 APNS 负载。
我从负载中删除了 "priority" 并将二进制通知配置为命令 2。
使用 Xcode 测试。一切正常。在没有 Xcode 的情况下进行测试。还是一样的问题。 =(
更新 2
我在 iPhone 4 设备上测试了该应用程序。静默通知在有或没有 Xcode 的情况下都有效。因此,这一定是 iOS 8 台设备的严格问题。
正在更新标题以仅反映 iOS 8。我不确定如何为 iOS 8 设备解决此问题。有人有什么建议吗?
好的,所以我终于解决了为什么静默通知在 iOS 8 台设备上不起作用。
在您从 PHP 脚本发送的二进制通知中,优先级必须设置为 5。当您不是 运行 来自 Xcode.
我不知道为什么应用程序在 Xcode 中的 运行 时使用 10 -- 这就是为什么很难确定问题所在的原因。我也不知道为什么 10 的优先级适用于 iOS 7 台设备。