1
相同的参数,我试图用SSKeychain保留UUID在iOS为什么SSKeychain返回不同的结果与不同的iOS应用
和示例代码低于
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不应该为空,那么为什么第二个应用程序返回不同的UUID?我认为这将返回与第一个应用程序相同的UUID ,因为我已将UUID保存在App1中的钥匙串中,并尝试通过App2中的相同参数来检索它。
感谢您的帮助
是的,我知道UUID应该是不同的,只是不知道是因为APP1挽救其UUID到钥匙扣和App2为什么APP 2不检索APP1的UUID使用相同的参数值。 –
因为应用程序具有沙箱化的钥匙串,就像文件系统一样。应用程序1无法访问App 2保存的文件。该链接提供了有关如何共享钥匙串的一些信息。 – Rick