我是iPhone开发中的新手,我想知道我是否会使用NSKeyedArchiver保存一些数据(NSSDictinary),在我的应用程序通过AppStore更新过程后,这些数据是否仍然存在? 假设我想为我的应用程序保存用户通行证,可能此信息将保存到app文件夹中。如果我将通过AppStore使用iTunes更新应用程序,保存的旧数据仍然存在?用户将找到他保存的登录凭据?
谢谢,
亚历。
答案 0 :(得分:2)
只需确保将数据保存到应用的文档目录(使用NSKeyedArchiver archiveRootObject:toFile:)。
应用程序更新期间保存的文件
更新应用程序将替换 以前的应用程序与新的 由用户下载。在这 进程,iTunes安装更新 应用于新的应用程序 目录。然后移动用户 来自旧安装的数据文件 到新的应用程序目录 在删除旧安装之前。 以下目录中的文件是 保证在期间保存 更新过程:/文件 /库/首选项 虽然其他用户的文件 目录也可以移动, 你不应该依赖它们 在更新后出现。
答案 1 :(得分:1)
您应该使用NSUserDefaults
来存储此类设置。它会将信息写入一个目录,该目录将在同步,恢复备份和应用程序升级时保留。
或者,您可以使用钥匙串存储用户名/密码。这样更安全,它还可以在应用程序更新或同步/恢复备份后继续使用。