应用程序卸载后iphone keychain项目是否仍然存在?

时间:2010-09-08 20:10:33

标签: iphone objective-c ios keychain

我正在玩idandersen的scifihifi-iphone密钥链代码并遇到以下行为 - 我设置了密码,比如说

[SFHFKeychainUtils storeUsername:@"User" andPassword:@"123"
                  forServiceName:@"TestService" updateExisting:YES error:&error];

然后从设备中删除测试应用程序并再次安装 - 先前设置的密码似乎保留在钥匙串中...
 这是预期的行为吗?有没有办法确保我设置的密码将被应用程序删除?

2 个答案:

答案 0 :(得分:30)

是的,这是预期的正确行为。

某些钥匙串项可能会与您控制的其他应用共享(共享相同的钥匙串项访问组)。

删除应用后,您应该只保留信息。删除应用时,您没有回复或删除钥匙串项目的方法。

答案 1 :(得分:2)

修改  他们最终还原了我的答案中描述的行为,所以直到每个人都离开那个版本的范围,这不应该再发生了。

不幸的是,情况已经不是这样了。自iOS 10.3以来它已被更改。

  

这是iOS 10.3中的故意更改,以保护用户隐私。在创建用户的应用程序被删除后,不应将可识别用户身份的信息留在设备上。

     

钥匙串项目从未成为API合约的一部分   当应用程序被删除时,应用程序创建的应用程序将存活这有   一直是一个实施细节。

请参阅reference here