iOS APNS设备ID与Passbook设备ID不匹配

时间:2014-03-16 18:16:39

标签: ios apple-push-notifications passbook

我有一个(PhoneGap)应用程序,它将成功获得Passbook通行证,并且还将成功接收与Passbook分开的推送通知(伪造设备ID时)。

我遇到的问题是设备ID存折发送到注册设备与APNS设备ID不匹配。更糟糕的是,我无法为我的生活让设备获得不同的ID(即使经过多次APNS认证和卸载,设置日期提前技术)

  • 启动应用
  • APNS是/否?是的!
  • 收到APNS设备ID的呼叫(与往常一样)
  • 继续创建存折,并添加传递
  • Passbook使用从Apple收到的设备ID(不同于APNS设备ID
  • )进行回叫(注册设备)

两者都使用相同的CSR文件来创建APNS并传递类型ID,即活动配置文件(启用了推送和存折)。我不确定问题是什么,但问题的一半是APNS不会给它一个新的ID。

我在这里做错了什么?我假设我并不疯狂,设备ID应该匹配。

由于

1 个答案:

答案 0 :(得分:2)

正如其他人所评论的那样,这是预期的。

参考Passbook Programming Guide: Updating a Pass 特别是 -

  

设备库标识符是用户设备和Web服务器之间特定于Passbook的共享密钥。它与设备标识符(UDID)无关。设备使用不同的ID向不同的服务器标识自己,并且可以随时更改其ID。其目的是允许设备和服务器之间的有效通信,而不是让您的服务器保留设备上当前安装的通行证列表。设备库标识符唯一标识设备,并指示发出请求的实体有权发出此类请求。

以及Local and Push Notitifcation Programming Guide

  

注意:设备令牌与UIDevice的identifierForVendor或uniqueIdentifier属性返回的设备UDID或任何其他类似属性(如ASIdentifierManager的advertisingIdentifier属性)不同。

Apple竭尽全力阻止无意的跟踪,因此不同的框架将在同一设备上为给定的应用程序返回不同的设备标识符。同一设备上的不同应用程序也将从相同的框架中获取不同的标识符。

EDIT - Pushtoken(也在注册时提供)用于在后续推送通知中识别设备,而不是DeviceLibraryID,但概念是相同的 - 此标识符对于其他标识符是唯一的相同的设备。