您好我正在开发小型iphone应用程序,我想为我的设备生成唯一的ID。我正在使用以下内容:
-(NSString*)uniqueIDForDevice
{
NSString* uniqueIdentifier = nil;
if( [UIDevice instancesRespondToSelector:@selector(identifierForVendor)] ) { // >=iOS 7
uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else { //<=iOS6, Use UDID of Device
CFUUIDRef uuid = CFUUIDCreate(NULL);
//uniqueIdentifier = ( NSString*)CFUUIDCreateString(NULL, uuid);- for non- ARC
uniqueIdentifier = ( NSString*)CFBridgingRelease(CFUUIDCreateString(NULL, uuid));// for ARC
CFRelease(uuid);
}
return uniqueIdentifier;
}
所以我在本地测试了这段代码。意思是每当我再次卸载并安装它时,它将为我创建相同的唯一代码。但是,当我将它推送到应用程序商店时,每次安装在同一设备上时,它会生成不同的代码。我想为同一设备上的每个安装生成相同的代码。有没有办法做到这一点。需要一些帮助。
我想为设备生成一个唯一的标识符,即使我多次安装和卸载应用程序也是如此。我使用的是OIS 7.0版本。
谢谢。
答案 0 :(得分:1)
identifierForVendor仅在系统还原后更改,您可以在此处检查我的部分测试:iOS 7 access UUID value in an enterprise application (not for AppStore)。 如果iOS版本低于ios6,您可以将ID保存在钥匙串中,即使在卸载应用程序后它仍然存在