我在app-store中有一个应用程序。在我的应用程序中,我使用钥匙串将一些值(例如:name& surname)保存为加密值。如果我使用xCode更新我的应用程序,则值没有问题。它们都按照我的意愿保存在钥匙串中。但是,如果我将新版本放入应用程序商店并使用appstore中的版本更新我的应用程序,我的值全部消失:(如果应用程序更新,iOS会删除钥匙串中的值吗?
答案 0 :(得分:4)
注意:在iPhone上,钥匙串权利取决于用于签署应用程序的provisioning profile
。请确保在不同版本的应用程序中始终使用same provisioning profile
。
答案 1 :(得分:1)
在更新过程中,不得以任何方式删除或更改应用程序的钥匙串。如果您遇到这种情况,您必须做错事(参见上面的Joachim的问题)。
(实际上删除应用程序并没有删除iOS 4.x中的钥匙串,这通常不会发生。但我没有检查这是否在以后的iOS版本中有所改进。)
此外,钥匙串不是应用程序文件系统的一部分,因此更新不会影响其内容。钥匙串属于中央安全数据库(实际上它是一个特殊的sqlite3数据库)。有关更多详细信息,请查看Apple iOS安全文档中的“Keychain Data Protection”一章:http://www.apple.com/ipad/business/docs/iOS_Security_Oct12.pdf。
结论是:应用更新后,您应用的钥匙串将保持不变。
答案 2 :(得分:1)
简单的答案是否定的。当您的应用更新时,不会删除存储在KeyChain中的数据。您可以使用KeyChain的键值对从KeyChain获取数据。
希望,这个简单的答案可以帮助你。