iOS将数据存储在钥匙串中,以便跨设备使用

时间:2014-06-02 13:01:25

标签: ios synchronization icloud keychain keychainitemwrapper

我正在尝试将数据写入iCloud Keychain,并使用相同的Apple ID在设备上进行复制。

如果我安装了一个应用程序并调用以下代码,写入一个条目,并且读取,我会看到正在读回的数据以登录当前设备。

但是,如果我在使用相同Apple ID的其他设备上安装相同的代码,并且iCloud / keychain已打开,如果我尝试从该设备上的钥匙串读取,我看不到数据。

我尝试在功能上启用icloud和keychain共享无济于事。

有人能指出我正确的方向吗?

-(void)writekc{
    KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"AppName" accessGroup:nil];
    [keychainItem setObject:@"password" forKey:(__bridge id)(kSecValueData)];
    [keychainItem setObject:@"username" forKey:(__bridge id)(kSecAttrAccount)];
}

-(void)readkc{
    KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"AppName" accessGroup:nil];
    NSString *password = [keychainItem objectForKey:(__bridge id)(kSecValueData)];
    NSString *username = [keychainItem objectForKey:(__bridge id)(kSecAttrAccount)];
    NSLog(@"Password:%@, User:%@",password,username);
 }

1 个答案:

答案 0 :(得分:1)

最后我使用了内置同步功能的SSKeyChain。