1

我有两个 iOS 应用程序(应用程序“A”和应用程序“B”),如果用户已经登录,我需要为用户提供使用存储在应用程序“A”中的登录数据访问应用程序“B”的可能性。应用程序“A”。

我所做的是使用 SSKeyChain 库将应用程序“A”的登录数据存储在钥匙串中。像这样的东西:

[SSKeychain setPassword:password forService:@"appA" account:username error:&error];

然后在应用程序“B”中,我以这种方式检索这些数据:

NSError *error;
NSArray *accounts = [SSKeychain accountsForService:@"appA" error:&error];

if (accounts.count > 0)
{
 // alert to the user
}

这在模拟器上运行完美,但这不适用于我的 iPhone。

我已经将此行添加到我的 didFinishLaunchingWithOptions 方法中:

[SSKeychain setAccessibilityType:kSecAttrAccessibleAlways];

我错过了什么吗?

4

1 回答 1

0

Keychain 是一个加密的容器,您可以在其中存储密码、证书、身份等安全信息。在 iOS 中,每个应用程序都有自己的钥匙串。要在应用程序之间共享数据,它们应该在代码签名权利中具有相同的访问组。

看看这个教程

看起来 SSKeychain 不支持访问组链接

可能你可以尝试使用SGKeychain

于 2015-07-01T12:08:03.780 回答