NSUserDefaults是否通过更新Appstore中的应用程序?

这是这种情况吗? 当您向App Store上的应用程序提交更新时,NSUserDefaults是否会重置?还是重置?

我的应用程序崩溃时更新,但没有完全下载时崩溃 – 所以我试图确定什么可能是不同的更新会话到新下载的会话。

干杯,尼克。

除非用户删除应用程序,否则通常不会重置它们。 对于基本的数据,NSUserDefaults是保存数据的最佳方法,如首选项,date,string等。如果您正在寻找保存图像和文件,文件系统是一个更好的select。

我相信答案是肯定的,它会坚持下去。 在“Apple iPhone OS编程指南”的“应用程序目录”一章中,也完整logging了这些内容。

  1. 直接回答发布的问题:YES。
  2. 你的问题:你的应用程序由于逻辑问题而崩溃。 假设你存储一个对象的默认值,应用程序在启动(或其他地方)检查它的值。 在你更新的时候,你可以改变它被检查或使用的方式,比如你期望一个值,但是对象是零,反之亦然。 这可能会导致SIGABRT或EXC_BAD_ACCESS。

如果你有CoreData模型,你改变了你的模型和更新的东西,没有pipe理迁移,这可能是你的应用崩溃的原因更新…

我有类似的经历。 我们的应用程序在Settings.Bundle / Root.Plist中存储一个版本号。 这通过iPhone设置应用程序显示。 我们发现,在安装版本号从应用程序包中加载 – 因此版本号是正确的。 但是在更新上,版本号不会改变。 这给用户以前运行该应用程序版本的印象。 我们没有任何逻辑链接到版本号,只是为了显示(诊断故障时可以由联络中心人员使用)。

我们的经验是当用户更新我们的应用程序时,NSUserDefaults不会被清除,但是设置显示也不会被更新。