将应用程序还原到新设备时,iOS密钥链存储是否持久?

将应用程序还原到新设备时,iOS密钥链存储是否持久?,ios,in-app-purchase,icloud,keychain,Ios,In App Purchase,Icloud,Keychain,我的问题与此直接相关,但与此不同: 海报很好奇,如果你将信息存储在钥匙链存储中,它是否会备份到iTunes和iCloud,这样当你将信息恢复到另一台设备时,数据就会持久化。OP自己问题的部分答案是: 但现在我了解到,只有在iTunes中对备份进行加密时,才能恢复密钥链(不知道iCloud备份) 被接受的答案是: 您可以使用iCloud传输数据,但这并不真正安全!将此数据加密保存在服务器上,并让应用程序读取此数据将是一个解决方案。顺便说一句,你不应该在钥匙链中保存未加密的敏感数据。越狱后可以很容易

我的问题与此直接相关,但与此不同:

海报很好奇,如果你将信息存储在钥匙链存储中,它是否会备份到iTunes和iCloud,这样当你将信息恢复到另一台设备时,数据就会持久化。OP自己问题的部分答案是:

但现在我了解到,只有在iTunes中对备份进行加密时,才能恢复密钥链(不知道iCloud备份)

被接受的答案是:

您可以使用iCloud传输数据,但这并不真正安全!将此数据加密保存在服务器上,并让应用程序读取此数据将是一个解决方案。顺便说一句,你不应该在钥匙链中保存未加密的敏感数据。越狱后可以很容易地读取钥匙链


备份是否加密取决于开发人员对代码中数据的加密权限,或者取决于iTunes或iCloud用户如何处理备份?这个问题的答案对我来说非常重要,因为我正在尝试设置一个应用程序的初始启动日期,该日期决定了他们需要多长时间才能重新订阅应用程序内订阅。此信息必须在新旧设备之间共享,并且即使应用程序被删除一段时间,也必须保留在单个设备上。

以下文本来自苹果:


钥匙链(这包括电子邮件帐户密码、Wi-Fi密码以及您在网站和某些其他应用程序中输入的密码。如果您使用iOS 4或更高版本加密备份,则可以将密钥链信息传输到新设备。使用未加密备份,您只能将密钥链还原到同一iOS设备。如果您要还原到新设备如果设备具有未加密的备份,则需要再次输入这些密码。)

感谢您抽出时间回答我的问题。我知道未加密的备份不会在另一台iOS设备上恢复。我对谁负责加密备份感到困惑。这是在您的应用程序写入密钥链存储并且您控制代码中的加密级别时完成的,还是作为选项f或者使用iTunes或iCloud备份应用程序的用户?keychain中存储的所有数据都由iOS加密。当您使用iTunes备份设备时,您可以选择一个选项。请参见图片。谢谢。现在我明白这是用户的选择,而不是开发者的选择。