我们目前在使用PhoneGap开发移动应用程序,我知道他们有device.udid (http://docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html#device.uuid) 来获取唯一标识符。为了使我们当前的应用程序在iOS 6发布后仍能正常工作,最好的方法是什么?我们是否应该开始使用其他解决方案(如MAC地址等)来确保未来兼容性?
查看 CFUUIDCreate
的文档:
我使用下面的方法创建一个UUID,并在第一次启动应用程序时将其保存到用户首选项中:
- (NSString *)getUUID
{
NSString *UUID = [[NSUserDefaults standardUserDefaults] objectForKey:@"uniqueID"];
if (!UUID)
{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
UUID = [(__bridge NSString*)string stringByReplacingOccurrencesOfString:@"-"withString:@""];
[[NSUserDefaults standardUserDefaults] setValue:UUID forKey:@"uniqueID"];
}
return UUID;
}
我一直在使用这个GitHub项目,它基本上采用设备的MAC地址并将其与bundle ID进行哈希处理: