如何为ios9

时间:2016-05-02 12:32:40

标签: ios9 udid

从iOS 7开始,直接在Apple iOS设备上获取UDID是不可能的。

我知道苹果建议使用UIDevice.currentDevice()。identifier21Vendor?.UUIDString。但每次卸载应用程序后它都会发生变化。

我想将GCM发送给用户,并且每个用户有两到三个ios设备。所以为了唯一地识别设备我想要UDID。

代表。如果用户有两个设备

在我的服务器数据库中,我就像这样存储它

userID->>> abc@xyz.com

GCMID->>> {UDIDForDevice1:GCMTokenForDevice1,UDIDForDevice2:GCMTOkenForDevice2}

1 个答案:

答案 0 :(得分:1)

如果您想真正唯一地识别设备,请在钥匙串上存储UUID。见How to preserve identifierForVendor in ios after uninstalling ios app on device?

对于GCM,您应该使用Instance ID API而不是发明自己的识别格式。

对于原始问题,网站www.easy-udid.com使用Over-the-Air Profile Delivery and Configuration获取UDID和其他设备信息。

"获取我的UDID"按钮链接到qilin.en.mobileconfig文件,该文件是Configuration Profile plist文件,其中包含以下内容:

{
  "PayloadType":"Profile Service",
  "PayloadContent":{
    "DeviceAttributes":[
      "UDID",
      "VERSION",
      "PRODUCT",
      "SERIAL"
    ],
    "URL":"http://www.easy-udid.com/retrieve.php"
  },
  ...
}

当用户安装配置文件时,手机将在打开提供的URL(http://www.easy-udid.com/retrieve.php)时发送UDID,版本,产品和序列号。然后,服务器可以将结果显示给用户。

请参阅https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/ConfigurationProfileExamples/ConfigurationProfileExamples.html了解一些示例回复。