gpt4 book ai didi

ios - kSecAttrSynchronizable 需要 iCloud 钥匙串(keychain)吗?

转载 作者:行者123 更新时间:2023-12-01 16:35:48 26 4
gpt4 key购买 nike

我已经使用 kSecAttrSynchronizable 使用 SecKeychain API 在我的应用程序中实现了同步钥匙串(keychain)存储。我认为必须启用 iCloud 钥匙串(keychain)(iOS 设置 > iCloud > iCloud 钥匙串(keychain))才能正常工作吗?

如果是这样,有什么方法可以判断这是否已启用?

最佳答案

kSecAttrSynchronizable您的应用程序使用属性来告诉钥匙串(keychain)是否需要将此钥匙串(keychain)条目同步到该用户的其他 Apple 设备。

你为什么想要一件元素不是 要同步?例如。用户不希望它被同步,因为他想在他的 iPhone 和他的 iPad 上使用不同的密码;所以你可能想提供一个偏好,让用户选择他是否希望同步这个密码。或者同步这个密码根本没有意义,例如它是一个密码,用于加密应用程序的本地数据,本地数据仅存在于当前设备上,因此此密码对其他设备没有用,它们缺少用于解密的数据。

但是,您的应用程序只能表达对您的项目进行同步的愿望,是否同步完全取决于用户。用户决定他是否想要密码同步,毕竟密码同步需要将密码存储在 Apple 的服务器上。它们是加密存储的,甚至 Apple 自己也无法访问密码数据,但是当互联网上的公共(public)服务器上散布着这种信息时,一些用户仍然没有很好的感觉。因此,除非用户启用同步,否则不会同步密码。

为什么您需要知道用户是否启用了它?告诉用户密码不会同步,除非他启用密码同步?听起来有点像告诉用户房间很暗,除非他打开灯。如果没有打开,用户可能是故意这样选择的,你不知道他有没有,对吗?如果您在应用程序偏好设置中提供密码同步选项并且用户启用,则只需在下方显示信息文本,说明此功能需要启用 iCloud 钥匙串(keychain)同步,否则将无效。

除此之外,如果您不提供这样的选项,那么对于所有用户来说,当您的应用 promise “现在支持 iCloud 钥匙串(keychain)同步”时,该功能仅在启用“iCloud 钥匙串(keychain)同步”时才有效,你不觉得吗?所以据我所知,没有 API 可以直接告诉你。可以通过其他方式间接检测到,但我不推荐这种黑客攻击,它们非常脆弱,迟早会因更新而中断。

关于ios - kSecAttrSynchronizable 需要 iCloud 钥匙串(keychain)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28445318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com