我正在玩idandersen的scifihifi-iphone钥匙串代码并遇到以下行为 - 我设置了密码,比如说
[SFHFKeychainUtils storeUsername:@"User" andPassword:@"123"
forServiceName:@"TestService" updateExisting:YES error:&error];
然后从设备中删除测试应用程序并再次安装 - 之前设置的密码似乎仍保留在钥匙串中...
这是预期的行为吗?有没有办法确保我设置的密码将被应用程序删除?
2 回答
是的,这是预期和正确的行为 .
某些钥匙串项目可能与您控制的其他应用程序共享(共享相同的钥匙串项目访问组) .
您应该在删除应用时单独保留信息 . 删除应用时,您没有回调或删除钥匙串项的方法 .
Edit: 他们最终还原了我的答案中描述的行为,所以直到每个人都离开这个版本范围,这不应该再发生了 .
不幸的是,情况已经不是这样了 . 自iOS 10.3以来它已被更改 .
见reference here .