【问题标题】:iOS Keychain Data Lost Upon iPhone Memory Pressure?iPhone内存压力导致iOS钥匙串数据丢失?
【发布时间】:2014-07-19 22:01:52
【问题描述】:

我正在通过 iPhone 5s 上的调试器运行 iOS 应用程序。我正在使用钥匙串来存储密码(我正在使用 Apple 的 KeychainItemWrapper 示例来存储和检索我的钥匙串项目)。大约 99.99% 的时间,钥匙串检索工作完美。但是,有两种情况我的应用程序无法获取密码。例如,有一次,我的手机遇到内存压力,我不得不重新启动手机并重新启动应用程序。应用程序重新启动后,我的应用程序无法再从钥匙串中检索密码。请问这个密码丢失是不是这个内存压力造成的? iOS 还会清除哪些其他情况下的钥匙串数据?有什么办法可以介绍这个吗??

【问题讨论】:

  • 钥匙串数据永远不会被自动清除,它必须是一个明确的动作。可以通过恢复设备或自己删除值来完成。如果两者都不是,请确保您的搜索查询能够找到该值。

标签: ios iphone ios7 keychain keychainitemwrapper


【解决方案1】:

iOS 钥匙串与您的应用程序的内存压力非常无关。

可能有两种情况:

  1. 您碰巧重置了手机 - 钥匙串数据会丢失(除非您的钥匙串与 icloud 同步)。
  2. 您以某种方式从您的wrapper 中调用了resetKeychainItem

如果不查看您的代码就无法提供更多帮助。

【讨论】:

    【解决方案2】:

    您可能找不到临时值,正如您在这个问题中看到的那样:KeychainItemWrapper not getting loaded on iOS 9 OSStatus -34018 (errSecMissingEntitlement) 和苹果论坛上的相关问题:https://forums.developer.apple.com/thread/4743

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      相关资源
      最近更新 更多