iPhone NSKeyedArchiver - 通过AppStore更新应用后,此类保存的数据是否仍然存在?

时间:2010-03-03 17:35:55

标签: iphone nskeyedarchiver

我是iPhone开发中的新手,我想知道我是否会使用NSKeyedArchiver保存一些数据(NSSDictinary),在我的应用程序通过AppStore更新过程后,这些数据是否仍然存在? 假设我想为我的应用程序保存用户通行证,可能此信息将保存到app文件夹中。如果我将通过AppStore使用iTunes更新应用程序,保存的旧数据仍然存在?用户将找到他保存的登录凭据?

谢谢,

亚历。

2 个答案:

答案 0 :(得分:2)

只需确保将数据保存到应用的文档目录(使用NSKeyedArchiver archiveRootObject:toFile:)。

  

应用程序更新期间保存的文件
  更新应用程序将替换   以前的应用程序与新的   由用户下载。在这   进程,iTunes安装更新   应用于新的应用程序   目录。然后移动用户   来自旧安装的数据文件   到新的应用程序目录   在删除旧安装之前。   以下目录中的文件是   保证在期间保存   更新过程:

     

/文件   /库/首选项   虽然其他用户的文件   目录也可以移动,   你不应该依赖它们   在更新后出现。

Getting Paths to Application Directories

答案 1 :(得分:1)

您应该使用NSUserDefaults来存储此类设置。它会将信息写入一个目录,该目录将在同步,恢复备份和应用程序升级时保留。

或者,您可以使用钥匙串存储用户名/密码。这样更安全,它还可以在应用程序更新或同步/恢复备份后继续使用。