1

我尝试使用 SSKeychain 在 iOS 上保留 UUID

示例代码如下

NSString *retrieveuuid = [SSKeychain passwordForService:@"tempApp" account:@"tempUser"];
if (retrieveuuid == nil) {
    //Generate UUID
    CFUUIDRef cfuud = CFUUIDCreate(kCFAllocatorDefault);
    NSString *uuid = CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));
    //save in keychain
    [SSKeychain setPassword:uuid forService:@"tempApp" account:@"tempUser"];
    return uuid;
} else {
    return retrieveuuid;
}

我的问题是我运行第一个应用程序然后生成一个UUID,然后运行具有相同参数的第二个应用程序,这样retrieveduuid不应该为null,那么为什么第二个应用程序返回不同的UUID?我认为这将返回与第一个应用程序相同的 UUID,因为我已将 UUID 保存在 App1 的钥匙串中,并尝试通过 App2 中的相同参数检索它。

感谢帮助

4

1 回答 1

0

UUID 是一个通用唯一标识符。如果您在两个不同的应用程序中获得相同的结果,那会有点愚蠢,不是吗?;)

如果您想在应用程序之间共享钥匙串,请参阅这个问题:如何在 iOS 应用程序之间共享钥匙串数据

于 2013-12-13T08:00:49.563 回答