ios - 从 XCode 运行时找不到钥匙串(keychain)值

标签 ios xcode ios9 keychain sskeychain

我正在使用 SSKeychain 来存储 session token 。当我从 XCode 编译和运行应用程序时,有时找不到 token (似乎它偶尔会起作用)。但是,如果我拔下我的设备并在没有 XCode 的情况下运行应用程序, token 将返回 10/10 次。我不确定这是 SSKeychain 还是一般 Keychain 的问题。我用来存储和读取值的代码如下:

- (void)setSecureValue:(NSString *)value forKey:(NSString *)key
{
    [SSKeychain setPassword:value forService:kServiceName account:key];
}

- (NSString *)secureValueForKey:(NSString *)key
{
    if (key != nil)
    {
        return [SSKeychain passwordForService:kServiceName account:key];
    }
    return nil;
}

通过意识到钥匙串(keychain)不是数据存储并且它有时会被清空(例如,由于内存警告),许多与钥匙串(keychain)访问有关的问题似乎得到了解决。但是,由于我总是在同一台设备上运行,并且在拔下电源并再次运行后 token 仍然存在,所以我不明白这怎么可能是这里的问题。

最佳答案

这是钥匙串(keychain)本身的错误。如果您在设备上调试应用程序,则需要破坏应用程序安全性才能启用 Debug模式,这就是钥匙串(keychain)无法正常工作的原因

关于ios - 从 XCode 运行时找不到钥匙串(keychain)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35616241/

相关文章:

android - 如何获得分支指标链接以支持现有的深层链接路径?

ios - 在更改 VC 之前获取并存储 PanoramaView 的位置

ios - 如何从 ios 上的 m3u8 直播中获取缩略图?

ios - 使用 Xcode 8.3.3 和 Swift 3 从移动应用程序向服务器发送 NS 用户身份验证数据问题

objective-c - 在带有部分的 mac 应用程序中创建侧边栏

.net - 从 html POST 检索错误响应

ios - iOS 9.3 中 Swift 4.0 的未知崩溃

cocoa-touch - 寻求 Cocoa Touch 元素框架

ios - 以编程方式创建的 UITableView 在 iOS9 中始终为白色

javascript - ios 9 移动版 safari 有一个闪烁的 bug,带有 transform scale3d 和 translate3d