2010-07-17 91 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內的某種版本節點。 如果服務器的版本和你的手機上的版本不同,那麼換個新的,別的什麼都不要做。