存储在钥匙串中的iOS长字符串随机损坏

时间:2015-04-22 12:30:17

标签: ios swift keychain

我在我的应用中与一个相当讨厌和虚幻的错误作斗争。我使用Keychain包装器UYLPasswordManager在iOS钥匙串中存储一个长的随机字符串(> 3200个字符)。在看似完全随机的时间段之后,存储在Keychain中的值将返回为日期字符串而不是最初存储的长字符串。

现在,我说它返回一个日期字符串而不是长字符串,但它很可能返回任意数量的不正确的字符串 - 我只能通过调试重现它一次才能看到从钥匙串回来的错误价值。

我尝试过的事情:

  1. 许多钥匙串包装器,每个包装器最终都会出现问题。
  2. 梳理写入Keychain的每个代码字符,以确保不会覆盖该值。
  3. 除此之外,由于虫子的虚幻性,我无法从不同的角度攻击它,因为我不知道还有什么地方可以看。我在Keychain中存储了其他字符串,这些字符串更短,从来没有出现问题。是否存在已知问题或在密钥链中存储长字符串的类似经验的其他人?

    我使用的是Swift 1.2(问题前置v1.2)和最新的Xcode(稳定版)。

    编辑:我正在尝试将字符串拆分为较小的块,并将每个字符串保存在钥匙串中,以查看是否存在损坏或随时间丢失的数据。我将在这里发布结果。

    编辑:自从我将字符串分成许多小部分后,我就没有看到这个问题。在我确认使用此方法解决问题之前,我将等待一周。此外,我计划向Apple提交错误报告。

0 个答案:

没有答案