iOS 推送通知仅由开发设备接收
iOS Push Notifications Only Received By Development Devices
我有一个发送一些推送通知的应用程序,实际上一切正常,我的设备接收推送通知没有任何问题。
我在开发时按照说明 here 并使用 pushok
库来开发服务器端。
但我意识到 none 我的通知被其他设备接收;只有我注册为开发设备的设备才能接收它们。
Device tokens
是正确的,运行 通过 USB 从 Xcode 应用程序或从 AppStore 安装给出相同的标记,但它只适用于我的设备。
你有什么想法吗?
更新
我正在为 APNS 使用 Auth Token,而不是基于证书的身份验证,因此没有生产或沙盒选项。但是除了开发设备我还是收不到。
请确保您为不同的配置使用正确的 APNS 证书。
开发设备中的应用 运行 将处于调试配置,其 APNS 证书将指向 gateway.sandbox.push.apple.com
Appstore 将采用发布配置,其 APNS 证书将指向 gateway.push.apple.com 而不是沙盒化证书。
所以,请检查您的证书。
NWPusher 是一个非常好的工具,用于测试推送通知仅使用证书和 deviceTokens 而无需任何代码。希望对你有帮助。
我发现了问题;如问题的更新部分所述,我没有使用基于证书的 APNS,因此沙箱或生产证书不是问题。我正在为 APNS 使用 Auth Token Key,沙盒和生产之间没有任何区别。
此外 pushok
库有一个用于生产或沙箱的标志,我在沙箱中错过并忘记了。当我重新检查 pushok 的文档时,我看到了下面的代码
$client = new Client($authProvider, $production = false);
更改为 $production = true
解决了我的问题。
我有一个发送一些推送通知的应用程序,实际上一切正常,我的设备接收推送通知没有任何问题。
我在开发时按照说明 here 并使用 pushok
库来开发服务器端。
但我意识到 none 我的通知被其他设备接收;只有我注册为开发设备的设备才能接收它们。
Device tokens
是正确的,运行 通过 USB 从 Xcode 应用程序或从 AppStore 安装给出相同的标记,但它只适用于我的设备。
你有什么想法吗?
更新
我正在为 APNS 使用 Auth Token,而不是基于证书的身份验证,因此没有生产或沙盒选项。但是除了开发设备我还是收不到。
请确保您为不同的配置使用正确的 APNS 证书。
开发设备中的应用 运行 将处于调试配置,其 APNS 证书将指向 gateway.sandbox.push.apple.com
Appstore 将采用发布配置,其 APNS 证书将指向 gateway.push.apple.com 而不是沙盒化证书。
所以,请检查您的证书。
NWPusher 是一个非常好的工具,用于测试推送通知仅使用证书和 deviceTokens 而无需任何代码。希望对你有帮助。
我发现了问题;如问题的更新部分所述,我没有使用基于证书的 APNS,因此沙箱或生产证书不是问题。我正在为 APNS 使用 Auth Token Key,沙盒和生产之间没有任何区别。
此外 pushok
库有一个用于生产或沙箱的标志,我在沙箱中错过并忘记了。当我重新检查 pushok 的文档时,我看到了下面的代码
$client = new Client($authProvider, $production = false);
更改为 $production = true
解决了我的问题。