swift - 为什么我没有收到带有连接到 Xcode 调试器的调试版本的 iOS 推送通知?
问题描述
当我使用 CI 机器构建的 TestFlight 版本测试应用程序时,设备会收到推送通知。
但是,当我在连接调试器的情况下在本地 Xcode 下重建应用程序时,设备不会收到任何推送通知。
为了进一步验证,我再次使用推送通知测试器在本地进行了测试,并且该设备确实收到了推送通知。
因此,由于授权和注册通过时它是#DEBUG 构建,因此不会省略代码。
我的本地构建可能缺少什么?
解决方案
当您在本地调试中构建您的应用程序时,您的应用程序将生成一个不接收生产推送通知的唯一设备令牌。当您使用分发配置文件构建您的应用程序时,它会生成一个在生产环境中工作的不同设备令牌。
Apple 将拒绝开发设备令牌,除非您使用您的 APNS 沙盒证书专门请求推送通知。
因此,如果您还没有完成证书创建过程,那么您将不得不重新完成证书创建过程,但这次是使用沙盒证书并使用该证书。
推荐阅读
- java - 在启动画面中接收 URL 意图并在 WebView 中加载 URL
- swift - 当 xcode 为 iOS 模拟器构建时,你可以忽略文件或类吗
- css - 使用什么技术将 css 内容变成图标?
- c# - HttpClient HTTP/2 从 Azure Function 调用 APN
- python - Django-Import-Export 导入 CSV,如何处理 u'\\ufeff、UTF-8 BOM 问题?
- excel - 隐藏表格行*除非* 3 列(在该行中)中的任何一个不为空
- javascript - 将 CodeMirror 实施到 Widget 后端表单中而不更新 texarea
- cordova - 离子原生 http POST 未向服务器发送数据
- javascript - 使用 PowerShell 在 Windows Server 上的 Internet Explorer 中运行 Javascript
- search - 页面爬虫索引只是在 kentico 中搜索确切的单词