我尝试使用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,然后运行具有相同参数的第二个应用程序,这样检索的should不应该为null,那么为什么第二个应用程序返回一个不同的UUID?我认为这将返回与第一个应用程序相同的UUID,因为我已经将UUID保存在App1的密钥链中,并尝试用App2中的相同参数检索UUID。
谢谢你的帮助
发布于 2013-12-13 08:00:49
UUID是一个普遍唯一的IdenTifier。如果你在两个不同的应用程序中得到相同的应用程序,那就太愚蠢了,不是吗?)
如果您想在应用程序之间共享密钥链,请参见以下问题:How to share keychain data between iOS applications
https://stackoverflow.com/questions/20558691
复制相似问题