我在应用商店有一个应用程序。在我的应用程序中,我使用钥匙串将一些值(例如:姓名和姓氏)保存为加密。如果我使用 xCode 更新我的应用程序,则值没有问题。它们都按我的意愿保存在钥匙串中。但是,如果我将新版本放入应用商店并使用应用商店中的版本更新我的应用,我的值都消失了 :( 如果应用更新,iOS 是否会删除钥匙串中的值?
3 回答
注意:在 iPhone 上,钥匙串权限取决于provisioning profile
用于签署您的应用程序。确保始终如一地使用same provisioning profile
跨不同版本的应用程序。
查看更多信息钥匙串服务编程指南
在更新期间不得以任何方式删除或更改应用程序的钥匙串。如果您遇到这种情况,那么您一定是做错了什么(请参阅上面的 Joachim 的问题)。
(实际上,在 iOS 4.x 中删除该应用程序并没有删除它的钥匙串,这通常不会发生。不过,我还没有检查过后来的 iOS 版本是否对此进行了改进。)
此外,钥匙串不是应用程序文件系统的一部分,因此更新不会影响其内容。钥匙串属于一个中央的、安全的数据库(实际上它是一个特殊的 sqlite3 数据库)。有关更多详细信息,请查看 Apple iOS 安全文档中的“钥匙串数据保护”一章:http: //www.apple.com/ipad/business/docs/iOS_Security_Oct12.pdf。
结论:应用程序更新后,您的应用程序的钥匙串应保持不变。
简单的答案是否定的。当您的应用程序更新时,您存储在 KeyChain 中的数据不会被删除。您可以使用 KeyChain 的键值对从 KeyChain 获取数据。
希望,这个简单的答案可以帮助你。