在操作扩展中访问KeychainItems

时间:2014-12-09 12:11:24

标签: ios objective-c keychain ios-extensions

我为我的iOS应用构建了一个动作扩展程序。但是,我在处理用户数据方面遇到了一些实际困难。在我的应用中,我存储了用户的用户名和密码,如下所示:

 KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"testapp" accessGroup:nil];

[keychainItem setObject:[self.txtUsername text] forKey:(__bridge id)(kSecAttrAccount)];
[keychainItem setObject:[self.txtPassword text] forKey:(__bridge id)(kSecValueData)];

NSString *valueToSave = @"Remembermebycredentials";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"RememberMe"];
[[NSUserDefaults standardUserDefaults] synchronize];

如何从我的动作扩展程序中访问此内容?我尝试使用相同的标识符检索它并创建一个共享容器,但这不起作用......

1 个答案:

答案 0 :(得分:0)

在您创建访问组之前,您无法访问应用中保存的数据。您需要为访问组配置应用程序,因为您的扩展程序不同,所以您的扩展程序无法直接使用该应用程序。

我建议您关注tutorial和WWDC会话

Creating App Extensions for iOS and OS X, Part 1

Creating App Extensions for iOS and OS X, Part 2