将设备标识符存储在 iOS 应用程序的钥匙串中是个好主意吗

Posted

技术标签:

【中文标题】将设备标识符存储在 iOS 应用程序的钥匙串中是个好主意吗【英文标题】:Is it a good idea to store device identifier in keychain for iOS app 【发布时间】:2012-05-22 07:40:32 【问题描述】:

作为 Apple 在 ios 5 中弃用的 uniqueIdentifier,我正在考虑使用 CFUUIDCreate 函数来创建 UUID。但是当我每次调用 CFUUIDCreate 时,它​​都会创建新的 UUID。所以我的计划是在应用程序第一次启动时使用 CFUUIDCreate 并将其存储在 NSUserDefaults 中。因此,如果用户删除或重新安装应用程序,UUID 将被删除。所以我想知道是否可以将生成的 UUID 存储在钥匙串中。所以我的问题是

1) 如果我删除应用程序,那么 UUID 是否会出现在钥匙串中? 2) 将其存储在钥匙串中是个好主意吗?

我看过gekitz

但我只想使用设备的 MAC 地址,那么 Apple 是否允许开发人员检索设备的 MAC 地址?

非常感谢任何帮助。提前致谢。

【问题讨论】:

【参考方案1】:

是的,还要设置

[keychain setObject:(id)kSecAttrAccessibleAlwaysThisDeviceOnly forKey:(id)kSecAttrAccessible];

【讨论】:

以上是关于将设备标识符存储在 iOS 应用程序的钥匙串中是个好主意吗的主要内容,如果未能解决你的问题,请参考以下文章

如何在ios钥匙串中手动存储?

钥匙串中存储的字符串是不是有长度限制?

访问钥匙串中的安全项目有时会在 iOS 中返回错误 -25308 (errSecInteractionNotAllowed)

iOS在钥匙串中存储IAP标志,所以它是安全的

将 .p12 证书存储在钥匙串中以供以后使用

检索钥匙串中的数据以获取在 ios 中不起作用的特定服务