iOS Keychain在设备之间共享数据

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

我使用了RayWenderlich tutorial中的KeychainWrapper类,稍作修改即可拥有一个独特的钥匙串访问组.

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

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

解决方法

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

还可以使用KeychainAccess等特殊库来管理钥匙串(请查看此answer)

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...