如何在钥匙串中存储URL

时间:2014-12-22 05:46:32

标签: ios objective-c security keychain

我想将URL存储在设备密钥链中,该密钥链用于将设备指向特定服务器。首次启动应用程序时,它会将URL存储在钥匙串中。

3 个答案:

答案 0 :(得分:0)

UITextField *url = [[UITextField alloc] initWithFrame:CGRectMake(40, 30, 240, 30)];
[url setBorderStyle:UITextBorderStyleRoundedRect];

KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"TestAppData" accessGroup:nil];

写入钥匙串 -

//将URL存储到钥匙串

Nsstring *strURL=@"abcd" 
[keychain setObject:strURL forKey:(id)kSecAttrAccount];

从钥匙串阅读 -

//从钥匙串获取AcessToken(如果存在)

[url setText:[keychain objectForKey:(id)kSecAttrAccount]];

注意: 从钥匙串中编写和检索值似乎在模拟器中不起作用。 卸载应用程序不会从钥匙串中删除项目。如果您在设备上运行演示应用程序并卸载应用程序,则用户名和密码将保留在钥匙串中(当然,固件重置将删除钥匙串值)。

答案 1 :(得分:0)

是Vinayak,

有许多与其类型相关的关键用户。请在下面找到。

kSecAttrAccessGroup         -       CFStringRef
kSecAttrCreationDate        -       CFDateRef
kSecAttrModificationDate    -       CFDateRef
kSecAttrDescription         -       CFStringRef
kSecAttrComment             -       CFStringRef
kSecAttrCreator             -       CFNumberRef
kSecAttrType                -       CFNumberRef
kSecAttrLabel               -       CFStringRef
kSecAttrIsInvisible         -       CFBooleanRef
kSecAttrIsNegative          -       CFBooleanRef
kSecAttrAccount             -       CFStringRef
kSecAttrService             -       CFStringRef
kSecAttrGeneric             -       CFDataRef

答案 2 :(得分:0)

另一种方法是将其存储在plist文件中