以编程方式获取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
所示。