[英]what is the replica for UDID or UUID in iOS 7
问题是,一旦我生成UUID
它为我工作。 但是如果我/用户删除应用程序而不是UUID
与之前生成的相同。 如果我们使用uuid作为标识符,那么这里没有唯一性。 请帮我解决这个问题。如果重新安装应用程序,我如何获得相同的uuid或任何字符串。 提前致谢..
我正在使用这种方法:
NSString *udid;
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0"))
udid = [UIDevice currentDevice].identifierForVendor.UUIDString;
else
udid = [UIDevice currentDevice].uniqueIdentifier;
首先,查看NSHiplster上这篇内容丰富的文章http://nshipster.com/uuid-udid-unique-identifier/
这应该适合你:
NSString *UUIDString = nil;
if ([[UIDevice currentDevice].systemVersion floatValue] >= 6.0) {
UUIDString = [[NSUUID UUID] UUIDString];
} else {
CFUUIDRef UUID = CFUUIDCreate(NULL);
UUIDString = CFBridgingRelease(CFUUIDCreateString(NULL, UUID));
}
我已经通过使用advertisingIdentifier解决了这个问题。 链接:
正如我在那里看到的那样,广告标识符是
“每个设备唯一的字母数字字符串,......”
为此,我使用它作为唯一标识符(尽管它用于服务广告)。
我的代码是:
-(NSString*)UniqueAppId
{
NSString *Appname = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
NSString *strApplicationUUID = [SSKeychain passwordForService:Appname account:@"manab"];
if (strApplicationUUID == nil)
{
strApplicationUUID = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
[SSKeychain setPassword:strApplicationUUID forService:Appname account:@"manab"];
}
return strApplicationUUID;
}
并在需要时调用它
[self UniqueAppId];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.