获取推送通知的生产 iOS 设备令牌

Posted

技术标签:

【中文标题】获取推送通知的生产 iOS 设备令牌【英文标题】:Getting Production iOS Device Token For Push Notifications 【发布时间】:2014-04-08 15:32:06 【问题描述】:

我了解分发版本与开发版本中的设备令牌之间存在差异。

我的设备令牌推送通知适用于沙盒模式。

我创建了新的分发证书,并成功交付到分发环境中的 APSN。

但是,在使用分发设置时,我的设备不再收到通知(我怀疑这是因为我的开发设备令牌被发送到服务器)。

我已前往 Project Scheme 并将 Build Configuration 设置为 Release,但我得到的设备令牌仍然与原来相同之前。

(另请注意,我已将应用程序包 ID 设置为允许在开发和分发中推送通知,并且我正在使用服务器上的分发证书)。

您能否告诉我在开发模式下获得推送通知所需的内容以及获取发送推送通知所需的“实时”设备令牌时我做错了什么?

额外问题:如果服务器获取的是开发设备令牌而不是实时 APNS 的分发令牌,为什么服务器不会返回“无效设备令牌”错误?

回答:

需要将项目存档并导出为 ad-hox 发行版。那行得通。

【问题讨论】:

嗨@aggressor,您的应用提交并获得批准了吗?您的设备上线后将收到推送。如果你真的想测试它,你可以使用 ad-hoc 进行设置 它是实时的,但是下一次更新我们想使用推送通知,但显然要先测试它。我一直在考虑设置一个临时构建,但在编译时遇到了“Xcode 无法获得进程任务”的问题。您是否有关于在 ad-hoc 模式下构建的资源的链接?谢谢! developer.apple.com/library/ios/documentation/IDEs/Conceptual/… 有用吗? 嗨梅达!我确实通读了,但可能我错过了一些东西。我现在会仔细检查。 知道了。我需要存档项目而不是构建它!!! 【参考方案1】:

为了测试您的应用的推送通知,您必须等待它获得批准。如果这不是一个选项,您仍然可以使用 ad hoc 分发您的应用的分发版本。

当您的应用程序准备好提交时,您创建一个临时配置文件,指定与您的一个或多个应用程序匹配的应用程序 ID、一组测试设备和一个分发证书。

这是一张图片来说明配置文件的工作原理:

source

【讨论】:

以上是关于获取推送通知的生产 iOS 设备令牌的主要内容,如果未能解决你的问题,请参考以下文章

继续发送推送通知,丢弃 ios 的失败设备

iOS:生产推送通知,来自 APNS 服务器的无效令牌

无法在 react-native 中获取 iOS 推送通知设备令牌

使用推送通知时如何获取用户设备令牌

应用启动后如何获取 iOS 推送通知令牌

如何作为 Apple 推送通知服务提供商获取设备令牌?