访问iOS钥匙串密码的errSecDefault

3
我使用SSKeychain来封装存储用户的访问令牌及用户ID。
在注册期间,我会发起Web请求获取用户的访问令牌。之后,我会调用[SSKeychain setPassword:@"password" forService:@"myService" account:@"myAccount"]
然而,当我试图通过[SSKeychain passwordForService:@"myService" account:@"myAccount" error:&error]访问密码时,结果为nil。当我记录下错误信息后,发现是errSecDefault(默认错误)。
我在网上对这个errSecDefault进行了一些研究,并查看了SSKeychain的文档以及github上的问题。似乎其他人也遇到了同样的问题,但我还没有找到任何解决方法。根据我从问题线程中的阅读得出的结论来看,它似乎与钥匙链有关,而不是封装器本身。
是否有人在使用钥匙链时遇到过这个错误,并知道它的含义?

与论坛网站不同,我们在 [so] 上不使用“感谢”或“任何帮助都会感激”的用语,也不使用签名。请参阅“应该从帖子中删除‘Hi’、‘thanks’、标语和问候语吗?”。顺便说一句,“Thanks in advance”应该是“Thanks in advance”,而不是“Thanks in advanced”。 - John Saunders
1个回答

1
我遇到了相同的问题,因为我过于频繁地访问了钥匙串。与用户默认设置一样,它不是数据存储。
我编写了一个包装器,将令牌本地保存在变量中,并且只有在进行更改时才访问钥匙串,否则返回本地保存的令牌/密码。这对我解决了问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接