钥匙串有时会返回空值

Nar*_*thy 13 objective-c cllocationmanager ios keychainitemwrapper background-fetch

我们使用本机密钥链包装类来存储和检索密钥链中的值.但在某些情况下,该值将被删除/清空.

我们在我们的应用中启用了以下项目

  1. 位置服务ON - 始终处于初始状态,用户可以在设备设置中更改该状态
  2. 后台提取 - 打开 - 我们在代码中没有使用任何特定方法.(即performfetchwithcompletionhandler代码中未使用/添加的方法)

上述方案是否可能对钥匙串项目产生影响,或者是否存在可能导致钥匙串项目被删除的其他方案.

han*_*bao 0

我认为您在这里描述的场景与您遇到的错误无关。请提供更多信息,例如 Keychain API 返回的错误代码以及您的代码运行的操作系统版本。如果没有这些信息,人们很难确定到底发生了什么。

从 iOS 8 开始,开发人员在设备上使用钥匙串时遇到了一些错误。使用无效设置访问后台钥匙串可能会导致问题。然而在其他情况下,即使用附加的 Xcode 进行调试时,即使有效的代码也可能会遇到错误。这些都是 Apple 钥匙串工程师已知的问题。据报道,其中一些已在 iOS 9.3 中修复您可以在 Apple 开发论坛上查看这个SSKeychain 问题和这篇文章。