【问题标题】:Saving app settings - iOS保存应用设置 - iOS
【发布时间】:2015-05-13 00:09:30
【问题描述】:

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

如果有人能给我一些关于如何保存应用设置的建议(这些都是 NONE 安全设​​置,没有密码,只是简单的东西,比如整数和字符串),我正在徘徊。

以下是我的一些想法:

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

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

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

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

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

这些方法有什么好处吗?

感谢您抽出宝贵时间,丹。

【问题讨论】:

    标签: ios cocoa-touch settings nsuserdefaults nsdata


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 太好了,非常感谢。我想我会坚持使用 NSUserDefaults。
    猜你喜欢
    • 2011-10-01
    • 2010-12-21
    • 2013-10-21
    • 2010-10-21
    • 2011-07-19
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多