如何找到 ios9 的 UDID

How to find UDID for ios9

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

我知道苹果建议使用 UIDevice.currentDevice().identifierForVendor?.UUIDString。但是每次卸载后都会变

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

例如。如果用户有两个设备

在我的服务器数据库中,我是这样存储的

用户ID->>> abc@xyz.com

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

如果你想真正唯一地标识一个设备,在钥匙串上存储一个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和其他设备信息。

"Get my UDID" 按钮链接到 qilin.en.mobileconfig 文件,这是一个 Configuration Profile plist 文件,内容如下:

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

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

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