我一直在寻找解决此问题的方法,但似乎我是互联网上唯一遇到此类问题的人。
我正在使用 Apple 提供的钥匙串包装类来存储用户和密码,因为它应该被存储。当我想恢复用户价值时,就像这样做一样简单:
NSString *user = [keychain objectForKey:(id)kSecAttrAccount];
找回密码应该和用户名一样简单:
NSString *pass = [keychain objectForKey:(id)kSecValueData];
但在那之后,尝试使用 NSLog 打印它们,通过后控制台上没有显示任何内容。例如:
NSLog(@"user: <%@>, pass: <%@>, something after the pass", user, pass);
这个 NSLog 的输出是:
user: <123456>, pass: <5433
调用 [pass length] 总是给我一个大于 pass 实际长度的数字(在这个例子中,10,当我说它的长度实际上是 4)。
我不知道发生了什么。当我试图找到一个合适的解决方案时,我做了一个解决方法来解决这个问题(查看每个字符的整数值并只允许那些是数字、字母和一些符号的值)。
先感谢您!