我正在描述一个问题,我花了很长时间才得到答案。
“GenericKeychain”示例是在init中使用accessGroup时提供在应用程序之间共享钥匙串数据的包装器的良好开端。
然而,在我的应用程序中实现这一点产生了一个模糊的错误代码(永远定位)-25243,这意味着:没有访问控制。
我在iPad上运行Apple的示例应用程序(GenericKeychain)只是为了得到同样的错误。咦?
Apple的文档是否无法实现完成此任务所需的内容?
答案 0 :(得分:52)
经过一些(很多)挖掘整个网络后,我找到了答案。在构造KeychainItemWrapper类时使用的访问组也必须在“keychain-access-groups”部分的每个应用程序的Entitlements.plist文件中指定。
现在我看到“ keychain-access-groups ”似乎很明显。但是,我甚至不想看那里。希望这有助于其他人。
答案 1 :(得分:14)
实际上并不难做到。请按照步骤进行操作。
App1的:
并将这些代码添加到您需要的地方。
[UICKeyChainStore setString:@"someValue" forKey:@"someKey" service:@"someService"];
App2的:
并将这些代码添加到您需要的地方。
NSString *string = [UICKeyChainStore stringForKey:@"someKey" service:@"someService"];
两个项目的 TeamIDs 应相同。