iOS Keychain在设备之间共享数据

时间:2014-04-24 21:45:27

标签: ios keychain keychainitemwrapper

我有一堆使用相同钥匙串组的应用程序来共享一些敏感数据。它在同一设备上测试应用程序时工作正常,可以访问和编辑共享数据。我想知道是否可以在iDevices之间共享数据,我的iPad(iOS 7)和iPhone(iOS 6)似乎分别存储它们(是本地的?),我认为它被安全地存储在Apple的服务器中,因为它被称为iCloud钥匙扣。

我使用KeychainWrapper中的RayWenderlich tutorial类稍作修改,以获得唯一的钥匙串访问组。

+ (NSMutableDictionary *)setupSearchDirectoryForIdentifier:(NSString *)identifier {
    ...
    //Added this line 
    [searchDictionary setObject:KEYCHAINGROUP forKey:(__bridge id)kSecAttrAccessGroup];
    ...
    return searchDictionary;
}

是否可以使用Keychain同时在设备和应用程序之间共享数据?如果是这样,我应该如何实施呢?

2 个答案:

答案 0 :(得分:1)

现在,您只需将kSecAttrSynchronizable属性添加到钥匙串的项中,即可通过icloud在设备之间进行同步: https://developer.apple.com/documentation/security/ksecattrsynchronizable

还应使用KeychainAccess之类的特殊库来管理钥匙串(请选中此answer

答案 1 :(得分:0)

Keychain在本地设备上存储数据。如果需要在设备之间共享敏感数据,可以加密数据并将其存储在iCloud上。