我有一个iOS应用程序,根据用户设置的设置加载某些功能。目前我正在使用NSUseDefaults来保存和检索这些设置,它工作正常。但据我所知,任何人都可以使用简单的XML编辑器查看和编辑它们。您甚至不需要越狱iOS设备来获取对它们的访问权限。所以他们非常安全。
如果有人可以就如何保存应用程序设置给我一些建议(这些是无安全设置,没有密码,只是简单的事情,如整数和字符串),我就会徘徊。
以下是我的一些想法:
IDEA 1 将JSON文件添加到应用程序NSBundle,然后在每次要加载/更改应用程序设置时编辑/保存该JSON文件。
IDEA 2 使用钥匙串 - 它可以存储字符串吗?并且任何人都无法访问或编辑它。 (希望甚至是国家安全局......哈哈)。我可以在钥匙串中存储一组字符串,用于我的应用程序设置。
IDEA 3 将设置存储在服务器上,让用户每次使用该应用时都会将其下拉给用户。
IDEA 4 如果NSUserDefaults支持此功能,那么可能会锁定NSUserDefaults,以便最终用户只能查看它们而不能编辑它们。只有应用程序才能编辑它们。
重点是我担心如果我使用NSUSerDefaults,用户可能会看到并编辑它们,然后应用程序将无法正常运行。虽然我没有存储任何类型的安全数据,但如果我可以阻止用户编辑应用程序设置,那就太好了。
这些方法中的任何一种方法都有用吗?
谢谢你的时间,Dan。
答案 0 :(得分:0)
所有这些都是好主意,但第一个只有一个问题: 您无法在主包中写入或更改文件。
只要肯定没有越狱他们的设备NSUserDefault
就不能轻易改变。
钥匙串只能用于密码,令牌等。
在你的情况下,NSUserDefault
会很好,或者只保存一些文件你的文件目录也是一个选项。您甚至可以创建符合NSCoding
协议的设置类,然后保存它。