为什么SSKeychain为不同的iOS应用程序返回不同的结果和相同的参数

时间:2013-12-13 03:41:17

标签: ios uuid sskeychain

我尝试使用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,那么为什么第二个App会返回不同的UUID?我认为这将返回相同的 UUID作为第一个应用程序,因为我已将UUID保存在App1的钥匙串中,并尝试通过App2中的相同参数检索它。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

UUID是一个普遍独特的IdenTifier。如果你在两个不同的应用程序中使用相同的内容会有点愚蠢,不是吗? ;)

如果您想在应用之间共享钥匙串,请参阅此问题:How to share keychain data between iOS applications