保存应用程序设置 - iOS

Saving app settings - iOS

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

我在想是否有人可以给我一些关于如何保存应用程序设置的建议(这些是 NONE 安全设置,没有密码,只有简单的东西,如整数和字符串)。

以下是我的一些想法:

IDEA 1 添加一个 JSON 文件到应用程序 NSBundle,然后 edit/save 那个 JSON 文件每次你想 load/change 应用程序设置。

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

IDEA 3将设置存储在服务器上,并让应用程序在用户每次使用该应用程序时将它们拉下来。

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

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

这些方法有什么好处吗?

谢谢你的时间,丹。

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

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

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

在你的情况下 NSUserDefault 就可以了,或者只是将一些文件保存到你的文档目录也是一个选项。您现在甚至可以创建符合 NSCoding 协议的设置 class 并保存它。