2013-05-16 61 views
0

我正在編寫一個IPhone應用程序,我在Supporting Files文件夾(在xcode的右側面板)中本地下載文件和照片,這些文件也下載到Web服務器中,我想要的是如果應用程序檢測到這些文件在Web服務器上更新,它在Supporting Files新的內容我用從Web服務器更新支持文件

NSArray* pathArray = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory,NSUserDomainMask, YES); 
documentsDirectory = [pathArray objectAtIndex:0]; 
NSString* localFile = [documentsDirectory stringByAppendingPathComponent:@"test.txt"]; 
[data writeToFile:localFile options:NSDataWritingAtomic error:&error]; 

代碼工作很好,但問題是,它取代了文件的內容
替換它們 Library/Application Support文件夾,而不是Supporting Files所以,當我這樣做:

NSBundle *thisBundle = [NSBundle mainBundle]; 
NSString *TextURL = [thisBundle pathForResource:@"test" ofType:@"txt"]; 
NSURL *instructionsURL = [NSURL fileURLWithPath:TextURL]; 
NSString *TextString = [NSString stringWithContentsOfURL:instructionsURL]; 
mayText.text = TextString; 

舊的內容顯示,而不是更新一個 我怎樣才能改變我的代碼支持文件目錄替換的文件,每次應用程序支持文件被更改?這兩個文件夾有什麼區別?謝謝。

回答

0

你不能。設備上的iOS應用程序已簽名,更改軟件包的內容會破壞該簽名。由於所有由Xcode管理並添加到目標文件的文件都將轉到該軟件包,因此不得更改它們。

將文件下載到沙盒目錄(例如文檔)中,然後在其中進行訪問。

另請注意Supporting Files iin Xcode不是一個目錄,而是一個組。它合理地將它內容分組到Xcode項目中,但不在文件系統級別的目錄中組織文件。

+0

非常感謝您的支持,我想問您,請使用'NSDocumentationDirectory'或支持文件:'NSApplicationSupportDirectory'來更好地保存文檔中的這些文件? – user2389273