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

1.)苹果是否允许开发者检索用户设备的IMEI号码和UDID?

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

3.)如果苹果不允许开发者收集IMEI号码,他们是否提供设备的其他唯一号码?

苹果不再允许开发人员以编程方式获得UUID了。 但是,有一些解决方法可以用来唯一标识应用中的设备。 下面的代码允许您使用CFUUIDCreate创build一个唯一的标识符。

Objective-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 ,核心数据,发送到一个Web服务等,以将这个唯一的ID与运行你的应用程序的设备关联。 你也可以使用它作为NSString的类方法, NSString所示。