确保iOS中的identifierForVendor对所有设备都是唯一的?

时间:2015-08-06 02:36:19

标签: ios objective-c iphone

在我的项目中,我在iOS中使用identifierForVendor并将其存储在Keychain中以定义iOS设备。 如何确保它是所有iOS设备的唯一ID?

我的代码是:

-(NSString *)getUniqueDeviceIdentifierAsString
{

 NSString *appName=[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];

 NSString *strApplicationUUID = [SSKeychain passwordForService:appName account:@"incoding"];
 if (strApplicationUUID == nil)
 {
    strApplicationUUID  = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    [SSKeychain setPassword:strApplicationUUID forService:appName account:@"incoding"];
 }

 return strApplicationUUID;
}

1 个答案:

答案 0 :(得分:0)

这不是你必须担心的事情。 Apple(在他们的API文档中)保证每个应用程序的每个设备都是唯一的。如果不是这样,那么现在会有很多不满的用户和开发者。

其次,您不需要存储它。它不会改变。只需在需要时访问它。