钥匙串有时会返回空值

时间:2016-03-29 13:29:53

标签: ios objective-c cllocationmanager background-fetch keychainitemwrapper

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

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

  1. 位置服务开启 - 始终处于初始状态,用户可以在设备设置中更改
  2. 后台提取 - 开启 - 我们在代码中没有使用任何特定方法。 (即代码中未使用/添加的performfetchwithcompletionhandler方法)
  3. 上述方案是否会对钥匙串项产生影响,或者是否存在其他可能导致钥匙串项被删除的情况。

1 个答案:

答案 0 :(得分:0)

我认为您在此处描述的方案与您所获得的错误无关。请提供更多信息,例如Keychain API返回的错误代码以及运行代码的操作系统版本。没有这些信息,人们很难确定究竟发生了什么。

从iOS 8开始,开发人员在设备上遇到一些Keychain错误。使用无效设置访问后台钥匙串可能会导致问题。然而,在其他情况下,即附加Xcode的调试,即使有效的代码也可能遇到错误。这些是Apple钥匙串工程师的已知问题。其中一些报告为fixed in iOS 9.3。您可以查看此SSKeychain issuethis post on Apple dev forum