保存应用设置 - iOS

时间:2015-03-11 09:22:28

标签: ios cocoa-touch settings nsuserdefaults nsdata

我有一个iOS应用程序,根据用户设置的设置加载某些功能。目前我正在使用NSUseDefaults来保存和检索这些设置,它工作正常。但据我所知,任何人都可以使用简单的XML编辑器查看和编辑它们。您甚至不需要越狱iOS设备来获取对它们的访问权限。所以他们非常安全。

如果有人可以就如何保存应用程序设置给我一些建议(这些是无安全设置,没有密码,只是简单的事情,如整数和字符串),我就会徘徊。

以下是我的一些想法:

IDEA 1 将JSON文件添加到应用程序NSBundle,然后在每次要加载/更改应用程序设置时编辑/保存该JSON文件。

IDEA 2 使用钥匙串 - 它可以存储字符串吗?并且任何人都无法访问或编辑它。 (希望甚至是国家安全局......哈哈)。我可以在钥匙串中存储一组字符串,用于我的应用程序设置。

IDEA 3 将设置存储在服务器上,让用户每次使用该应用时都会将其下拉给用户。

IDEA 4 如果NSUserDefaults支持此功能,那么可能会锁定NSUserDefaults,以便最终用户只能查看它们而不能编辑它们。只有应用程序才能编辑它们。

重点是我担心如果我使用NSUSerDefaults,用户可能会看到并编辑它们,然后应用程序将无法正常运行。虽然我没有存储任何类型的安全数据,但如果我可以阻止用户编辑应用程序设置,那就太好了。

这些方法中的任何一种方法都有用吗?

谢谢你的时间,Dan。

1 个答案:

答案 0 :(得分:0)

所有这些都是好主意,但第一个只有一个问题: 您无法在主包中写入或更改文件。

只要肯定没有越狱他们的设备NSUserDefault就不能轻易改变。

钥匙串只能用于密码,令牌等。

在你的情况下,NSUserDefault会很好,或者只保存一些文件你的文件目录也是一个选项。您甚至可以创建符合NSCoding协议的设置类,然后保存它。