ios - 为IOS中的所有设备创建唯一的UUID?

标签 ios objective-c ios7 uuid

如何创建相同(唯一)的 UUID 以及如何将其用于所有 IOS 设备。在我的代码中,UUID 在不同的设备中是不同的。

我的代码获取 UUID 是。

 NSString* uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; // IOS 6+
 NSLog(@"UUId:: %@", uniqueIdentifier);

谢谢
沙比尔

最佳答案

此方法将为每个设备创建一个唯一的字符串。
这里 SGKeyChain 是一个钥匙串(keychain)包装器。你可以自己写这个。

+ (NSString *) uniqueDeviceIdentifier
{

NSString *deviceUUID = [[SGKeyChain defaultKeyChain] stringForKey:@"uniqueId"];

    if (!deviceUUID) {

        if (!deviceUUID.length) {

    NSString *deviceUUID = @"";

    CFUUIDRef uuidRef = CFUUIDCreate(NULL);

    CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);

    CFRelease(uuidRef);

     deviceUUID = [NSString stringWithFormat:@"%@",[NSString stringWithString:(__bridge_transfer NSString *)uuidStringRef]];

[[SGKeyChain defaultKeyChain] setObject:deviceUUID forKey:@"uniqueId" accessibleAttribute:kSecAttrAccessibleAlways];

    }
}       
    return deviceUUID;
}

关于ios - 为IOS中的所有设备创建唯一的UUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25610621/

相关文章:

iphone - UISlider 自定义缩略图

ios - 调用 resignFirstResponder 时,什么会导致间歇性 NSInternalInconsistencyException?

uinavigationcontroller - 在 iOS 7 上滑动以返回导航 Controller

ios - UISearchBar自定义类和外观

python - 像字符串这样的 Unicode 问题

iphone - 如何在 ios 的 webview 中使用原生 sqlite?

objective-c - 获取日期与 [NSDate date] 相差几个小时

ios - 确保收到的推送通知是针对正确的用户

ios - dyld`__abort_with_payload : Without an error message

cocoa-touch - iOS indexPath 为零(自定义附件图像)