推送通知的UDID而不是设备令牌?

时间:2013-08-06 08:04:42

标签: ios push-notification apple-push-notifications udid

我刚刚在iOS中成功实施了示例推送通知。目前,我在发送消息时使用了设备令牌。现在,我有一个关于推送通知要求的问题。我们可以使用设备的UDID进行推送通知而不是设备令牌吗?我知道设备令牌可以单独完成工作但是可以使用UDID进行推送通知吗? Apple是否允许这样做?

3 个答案:

答案 0 :(得分:14)

不,您只能使用设备令牌。推送通知服务器API将仅接受设备令牌,并且还将检查是否允许您通过检查证书向该安装发送通知。

设备令牌对于特定设备上的应用是唯一的。如果用户有多个设备,他/她也将拥有多个设备令牌(每个应用程序安装一个)。

当用户删除您的应用并重新安装时,设备令牌也可以更改。

此外,开发人员不再使用UDID,Apple已限制使用UDID,您可以在代码中的任何位置使用UDID。

答案 1 :(得分:8)

不,您不能将UDID用于推送通知。让我们了解这些事实是什么。

UDID - (iOS唯一设备ID)每个iPhone中的一个数字,供开发人员用于将新应用直接分发到手机中,以便在App Store中提供之前进行测试。 UDID用于创建Apple认证的配置文件,该文件随应用程序拖动到iTunes中。

手机上看不到UDID。它必须在iTunes中显示,并且不能像普通文本一样突出显示和复制。要检索UDID,您需要执行以下操作:

  1. 将iPad连接到电脑,然后运行iTunes。
  2. 在“设备”列表中选择您的设备。在右侧,您将看到有关您设备的信息。
  3. 单击序列号。它将切换到显示您的UDID。
  4. 按Cmd-C将UDID复制到剪贴板。
  5.   

    注意:

         

    iTunes App Store中提供UDID的任何应用程序都是虚假的应用程序。无法通过代码检索UDID,如上所述,它必须是   通过iTunes软件或XCode的连接设备列表手动获取。

    设备令牌 - 适用于iOS设备的Apple推送通知系统的标识符。每个设备都有两个设备令牌 - 一个用于开发,一个用于生产(ad hoc或app store构建)。令牌是64个十六进制字符。

答案 2 :(得分:1)

设备令牌将在第三方服务器中注册,第三方服务器与APNS服务器通信。因此,Apple服务器使用设备令牌与客户端进行通信。如果传递UDID,它将失败,而不是设备令牌。此外,Apple限制访问设备UDID。