我已经为在iOS中使用钥匙串的应用程序提供了更新。请注意,更新与钥匙串代码无关。

问题:当某些人安装新应用程序时,至少在应用程序中不再存在其以前的钥匙串数据。角度来看,我无法访问这些人员设备,因此我无法说出钥匙串是否仍具有此数据。

:
-如何测试:我删除了该应用。我通过从Finder拖放从Xcode重新安装应用程序,形成iTunes。
-我已经在目标上成功测试了它,如下所述。
-我还尝试使用“临时”配置文件模拟尽可能接近的

=>所有这些的结果:我总是检索以前的数据

Nota Bene:

该应用程序最初是在iOS 3中开发的,现在我在iOS 4.3中使用Xcode 4
因此,从苹果公司:

钥匙串数据也被备份。

cf:http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/RuntimeEnvironment/RuntimeEnvironment.html#//apple_ref/doc/uid/TP40007072-CH2-SW5

__________ 目标 ____________

出现问题的人机:装有iOS 4.3.5(8L1)的iPhone。

我的(没问题):Ipad iOS 4.3.5(8L1),iPod touch 4.2,模拟器

最佳答案

*经过与苹果文档,测试和实验的反复交涉,我终于明白了为什么钥匙串会有不同的行为。

主要想法是,与Apple一样,“一切都在证书中”,而不是代码中,而不是项目本身中。

重要提示:

  • 钥匙串访问链接到证书,密码授予您一些数据
  • 如果出于历史原因,您必须使用多个证书,则必须创建一个专用的授权plist,其中应包括所有cf [1],并且要注意
  • 在列表中必须是更旧的
  • iOS拥有1个钥匙串(在Mac中,您可以通过钥匙串应用看到很多钥匙串)

  • 因此,当您使用具有良好证书的临时配置文件时。您将能够再次读取以前保存的数据。

    http://useyourloaf.com/blog/2010/4/3/keychain-group-access.html

    关于ios - iOS钥匙串(keychain)未还原,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7148782/

    10-12 00:18