ios - 使用钥匙串(keychain)存储设备标识符

标签 ios objective-c xcode6 keychain identifier

我注意到我的 identifierForVendor 总是在变化。有人告诉我,当您从 iTunes 下载时它不会改变。不过,我不太确定。所以,我想存储生成的第一个 identifierForVendor。我从我检查过的一篇帖子中找到了这个类 JNKeychain。它可以存储密码和其他数据。我尝试用它来存储我的 identifierForVendor。即使在删除我的应用程序并使用 XCode 重新安装之后,我也能够获得我存​​储的值。听起来不错,因为这样一来,无论是否从 iTunes 下载,我的 identifierForVendor 都可以保留。但是,我对 Keychain 不是很熟悉。我什至不知道我们可以使用它来存储安全数据。我阅读了他们的文档,上面说它通常用于在应用程序之间共享数据,并且您的应用程序应该具有相同的配置文件等...我不打算分享。我只是想让它保存我的标识符,所以这对我来说不是问题。我唯一关心的是我的数据在钥匙串(keychain)存储中能保存多久?一段时间后它会被删除吗?或者当我关闭我的设备时?当我更新 ios 版本时?它能永远存在吗?如果我使用开发人员/分发配置文件,钥匙串(keychain)会有不同的行为吗?

最佳答案

只要设备未被删除或硬重置,钥匙串(keychain)条目就会一直存在,或者直到应用将其删除。可以删除和替换应用程序,但钥匙串(keychain)条目将保留。如果来自开发者资料的应用与企业资料或应用商店重叠,则钥匙串(keychain)条目应该没问题。

关于ios - 使用钥匙串(keychain)存储设备标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26860797/

相关文章:

ios - Xcode 6 GM 版本,iPhone 6 模拟器, 'UITapGestureRecognizer' 没有可见的@interface 声明选择器 'initWithTarget:action:'

ios - 从ttf文件中获取字体

ios - 从应用程序调用时更改状态栏的颜色

iphone - CGRectMake(currentobject.frame.origin.x, currentObject.fram..更快的方法?

ios - 在 xcode 6 调试控制台中打印长字符串

ios - 是否可以在Xcode6中模拟iphone6+的缩放模式?

iOS 5 AirPlay 屏幕无法以横向正确绘制

iphone - 我可以在 iPhone 上使用 setModalPresentationStyle 吗?

ios - 在 iOS 中从 URL 加载 UIImage

ios - UILabel 在 iOS8 中不显示 subview