以编程方式获取iOS设备的IMEI或UDID

时间:2015-06-26 13:53:29

标签: ios iphone swift

1。)Apple是否允许开发人员检索用户设备的IMEI号和UDID?

2.。)如何以编程方式获取这些值?

3。)如果Apple不允许开发人员收集IMEI号码,他们是否为该设备提供任何其他唯一号码?

1 个答案:

答案 0 :(得分:1)

Apple不再允许开发人员以编程方式获取UUID。但是,您可以使用解决方法来唯一标识应用中的设备。下面的代码允许您使用CFUUIDCreate创建唯一标识符。

目标-C:

- (NSString*)GUIDString {
    CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
    CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
    NSString *guid = (__bridge NSString *)newUniqueIDString;
    CFRelease(newUniqueIDString);
    CFRelease(newUniqueID);
    return([guid lowercaseString]);
}

夫特:

func GUIDString() -> NSString {
    let newUniqueID = CFUUIDCreate(kCFAllocatorDefault)
    let newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
    let guid = newUniqueIDString as! NSString

    return guid.lowercaseString
}

拥有此唯一标识符后,您可以将其存储在NSUserDefaults,核心数据,将其发送到网络服务等,以将此唯一ID与运行您应用的设备相关联。您也可以将其用作NSString上的类方法,如here所示。