iOS的钥匙串中的项目是否能够保存应用程序卸载并重新安装?

我正在寻找有关iOS钥匙串项目的文档。 我的具体问题是,如果keychain项目将在应用程序卸载和重新安装周期中生存下来。 它似乎从iOS 4(或者甚至是iOS 3)那样工作,但是我找不到任何来自苹果的文档,声明这实际上应该是这样工作的。

我想弄明白的是,如果我可以信任(而不是“希望”或“猜测”),那么钥匙串中的项目将在应用程序卸载后幸存下来。

编辑:我意识到这个问题有点不明确,正如Daij-Djan指出的那样。 我正在寻找的是支持知名行为的官方文档。

更新2017-04-04:请参阅下面的答案,iOS 10.3testing版中的行为更改。 它在iOS 10.3中一切正常,但在将来的版本中可能会改变。

我在苹果开发者论坛上挖了一遍,苹果开发者(eskimo1,又名Quinn)在2012年8月27日说,这是目前的行为,但是这是一个他不知道/logging/行为的事情,所以这可能会改变未来。 他还说,删除共享钥匙扣项目总是会很棘手,这也是它尚未解决的原因之一。

所以我想这个问题是开放的:没有明确的答案。 它没有logging,可以随时更改。 依靠它可能会导致未来的问题。

更新2017-04-04:

iOS 10.3 beta中,应用程序被卸载时,应用程序的钥匙串信息被删除,但是这个行为似乎已经在最终的10.3版本中被删除了。 在苹果的文档build议这个即将改变,我们不应该依赖于应用程序卸载后完好无损的钥匙串访问数据。 另请参阅iOS 10.3 beta 3不保留KeychainItem的数据 。

也许这是你在找什么。
Apple文档

注意:在iPhone上,钥匙串权限取决于用于签署应用程序的供应configuration文件。 请确保始终在不同版本的应用程序中使用相同的configuration文件。

是他们会。

看到我的一个相应的问题:

如何找出当用户第一次购买应用/安装它(可能没有UDID?)


照我看来:

'正式'暗示的是,这个钥匙串是用于多个应用程序的,而且它'属于'os:

Apple文档

钥匙串是一个encryption容器,用于保存多个应用程序和安全服务的密码。

=>人类的钥匙链幸存下来的应用程序

钥匙串项目可以在多个应用程序之间共享