在我的应用程序中,我一直在 NSUserDefaults 中存储变量,这些变量会因应用程序内的应用内购买而增加。我的问题是,当应用程序更新时,这些变量是否会保留,以便用户在更新后仍然可以访问它们。
此外,存储此类变量的最佳做法是什么?苹果推荐什么?
在我的应用程序中,我一直在 NSUserDefaults 中存储变量,这些变量会因应用程序内的应用内购买而增加。我的问题是,当应用程序更新时,这些变量是否会保留,以便用户在更新后仍然可以访问它们。
此外,存储此类变量的最佳做法是什么?苹果推荐什么?
NSUserDefaults 数据不会在应用更新之间被删除,除非用户卸载并重新安装应用。它还存储在备份中(通过 iTunes 和 iCloud),因此只要用户设置了其中一个并且不卸载应用程序,您就可以依赖持久的数据。
作为旁注,您可能应该加密存储在默认值中的值 - 该文件是用户可访问的,这使得篡改成为可能。
它们将在更新后保留,但如果用户完全删除应用程序、重新启动操作系统或获得新手机,它们将被删除或不存在,所以我认为这不是一个很好的解决方案,可以依赖任何重要的事情。