Ios 使用密钥链存储设备标识符

Ios 使用密钥链存储设备标识符,ios,objective-c,xcode6,keychain,identifier,Ios,Objective C,Xcode6,Keychain,Identifier,我注意到我的供应商标识总是在变化。有人告诉我,当你从iTunes下载时,它不会改变。不过我不太确定。因此,我想存储生成的第一个供应商标识。我在我检查的一篇帖子中找到了这个类,JNKeychain。它可以存储密码和其他数据。我试着用它来储存我的身份证。即使在删除我的应用程序并使用XCode重新安装之后,我仍然能够获得存储的值。听起来不错,因为这样一来,无论我的identifierForVendor是否从iTunes下载,它都可以持久存在。然而,我“我不太熟悉钥匙链。我甚至不知道我们可以用它来存储安

我注意到我的供应商标识总是在变化。有人告诉我,当你从iTunes下载时,它不会改变。不过我不太确定。因此,我想存储生成的第一个供应商标识。我在我检查的一篇帖子中找到了这个类,JNKeychain。它可以存储密码和其他数据。我试着用它来储存我的身份证。即使在删除我的应用程序并使用XCode重新安装之后,我仍然能够获得存储的值。听起来不错,因为这样一来,无论我的identifierForVendor是否从iTunes下载,它都可以持久存在。然而,我“我不太熟悉钥匙链。我甚至不知道我们可以用它来存储安全的数据。我阅读了他们的文档,文档中说它通常用于在应用程序之间共享数据,并且您的应用程序应该具有相同的配置文件等。。。我不打算分享。我只是希望它能保存我的标识符,这样我就不用担心了。我唯一关心的是我的数据在钥匙链存储中能保存多久?一段时间后它会被删除吗?或者当我关闭设备时?我什么时候更新ios版本?它能永远持续下去吗?如果我使用开发人员/分发配置文件,keychain会有不同的行为吗

只要设备没有被擦除或硬重置,或者直到应用程序删除它,钥匙链条目就会持续。应用程序可以被删除和替换,但钥匙链条目将保留。如果开发者配置文件中的应用程序与企业配置文件或应用商店重叠,则钥匙链条目应该可以。

谢谢!如果我突然更改了配置文件,我是否仍然能够从密钥链中获取条目?只要捆绑包标识符保持不变,您就可以保存,这在iOS 10.3 beta5中不再适用。应用程序添加的钥匙链项目现在在删除应用程序时被删除。请注意,如果您使用SubjistFor作为某种广告ID,您将被拒绝。您不应该使用或依赖该值来标识用户ID:@ CDSTAMPLE确实使用它来帮助备份用户的数据,将其视为广告ID。对我来说听起来不错,但我建议改为实现登录系统。如果用户切换设备怎么办?@cdstamper我计划使用iCloud。事实上,登录系统很好,但是,很多用户忘记了用户名/密码并抱怨,所以我尽量让事情变得简单。谢谢