2010-07-17 95 views
1

我还没有找到任何答案,但这似乎是一个典型的问题: 我在我的“资源”文件夹中有一个XML文件,我的应用程序需要显示一些信息。但我必须检查我的服务器,如果服务器有一个更新的XML可用,所以我应该替换我的XML(在资源文件夹中)这个新的。iPhone:文件夹管理

我该如何做到这一点?

在此先感谢您的帮助!

回答

2

我不确定您是否拥有对资源部分的写入权限。更好的方法是将文件夹下载到您的“文档”目录。然后,当您应用检查加载XML文件时,它应该查看文档目录中是否存在版本并首先加载。如果它没有找到替代品,那么它使用原始版本。

这意味着如果下载的问题存在问题,则可以使用原始XML文件。发生哪种情况,要么是网络中断,要么没有完成,要么服务器给出了错误的xml文件,而且没有验证。

您可以通过访问该文件目录:

NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *destinationpath = [docPaths lastObject]; 

如果您想查询的版本,你可以使用XML中的元素,给你的版本号,也可以使用最后一次修改日期。版本的一个示例可以是:

<myxml version="234"> 

然后您可以检查此值。

+0

我已经在使用您刚推荐的方法,但我想我可以替换原始文件。如果不是这种情况,我很高兴知道我没有写入资源部分的权限。谢谢 – jcdmb 2010-07-17 15:17:12

1

您可以让API,一种方法来检查最近的修改日期。在客户端网站中,您可以获取XML文件的最新修改日期,并与服务器中的日期进行比较。您可以获取XML文件的描述并返回true或false来替换。

+0

要试试这个。谢谢! – jcdmb 2010-07-17 15:17:41

1

U需要一些方法来区分新的XML和旧的XML。我假设你有一些机制来做到这一点。通常是XML内的某种版本节点。 如果服务器的版本和你的手机上的版本不同,那么换个新的,别的什么都不要做。