1

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

谢谢,

亚历克斯。

4

2 回答 2

2

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

应用程序更新期间保存的文件
更新应用程序会将以前的应用程序替换为用户下载的新应用程序。在此过程中,iTunes 将更新的应用程序安装在新的应用程序目录中。然后它将用户的数据文件从旧安装移动到新的应用程序目录,然后再删除旧安装。以下目录中的文件保证在更新过程中被保留:

/Documents /Library/Preferences 尽管其他用户目录中的文件也可能会被移动,但您不应依赖它们在更新后存在。

获取应用程序目录的路径

于 2010-03-03T20:13:01.153 回答
1

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

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

于 2010-03-03T17:53:58.167 回答