【问题标题】:How persistent is [NSUserDefaults standardUserDefaults]?[NSUserDefaults standardUserDefaults] 的持久性如何?
【发布时间】:2011-03-09 04:02:36
【问题描述】:

我正在使用 [NSUserDefaults standardUserDefaults] 来存储应用程序设置。

我的问题是:

  • 这些设置会在应用删除时移除吗?
  • 它们是否在应用程序更新后保留(通过 应用商店)?

因为我使用它来存储密码,并且不希望我的用户在每次更新时都重置密码。另外,我希望重置密码的唯一方法是删除应用程序并重新安装。

NSUserDefault 是正确的选择吗?

谢谢, 杰里米

【问题讨论】:

    标签: iphone nsuserdefaults


    【解决方案1】:

    是的,它们会在应用程序删除时被删除,是的,它们会在应用程序更新时被保留。

    但是,不建议您将敏感数据存储在 NSUserDefaults 中,相反我会考虑使用钥匙串。

    【讨论】:

    • 谢谢汤姆!正是我需要的那种回应。
    • 嗨,Tom 和 jchatard,感谢您的帖子,它也对我有帮助。但是,如果我想在应用程序被删除的情况下存储数据,还有吗?喜欢使用 plist 吗?我的情况是存储用户是否有应用内购买项目的信息。显然,如果他们删除并重新安装应用程序,我不想再次向他们收费。还是应用商店在他们的 iTunes 帐户中记住他们的购买历史?谢谢。
    • 当一个应用程序被删除时,它的所有数据都会随之删除。我不知道商店是否记得用户购买了什么。
    • 唯一的方法是使用云存储,这也可以让您在运行您的应用程序的多个设备之间“同步”首选项
    • @Anthony SKPayment.defaultQueue().restoreCompletedTransactions() 会起作用。
    【解决方案2】:

    我在我的应用程序中使用 NSUserDefaults 来允许我的同事对我的应用程序进行额外访问。他们只需在设置中输入密码字即可完全打开应用程序。

    每次我更新应用程序时,他们都必须重新输入代码字,所以我会根据经验说更新后不会保留它们。需要重新输入值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      相关资源
      最近更新 更多