2012-07-23 62 views
0

我有一個文件,包含在我想要覆蓋的XCode項目中。該文件在名爲Book寫入XCode項目目錄中的文件

的目錄中名爲Introduction.html在屏幕截圖中,您可以看到它在目錄中的位置以及我寫入該目錄的各種嘗試。

enter image description here

任何幫助將是巨大的感謝!

編輯我的代碼是不是在圖片是可讀:

//Atempt 1 
NSString *myString = [mutableArray objectAtIndex:0]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"/book/Introduction.html"]; 
[myString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error]; 

//Attempt 2 
[myString writeToFile:@"/book/Introduction.html" atomically:NO encoding:NSUTF8StringEncoding error:&error]; 

//Attempt 3 
NSArray *paths2 = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); 
NSString *docDir = [paths2 objectAtIndex: 0]; 
NSString *docFile = [docDir stringByAppendingPathComponent: @"book/Introduction.html"];  
[myString writeToFile: docFile atomically:NO encoding:NSUTF8StringEncoding error:&error]; 


//Attempt 4 
NSFileHandle *file; 
NSMutableData *data; 
const char *bytestring = "black dog";  
data = [NSMutableData dataWithBytes:bytestring 
          length:strlen(bytestring)]; 
file = [NSFileHandle fileHandleForUpdatingAtPath: 
     @"book/Introduction.html"]; 
if (file == nil) 
    NSLog(@"Failed to open file"); 
[file seekToFileOffset: 10]; 
[file writeData: data]; 
[file closeFile]; 
[file release]; 

回答

0

itgiawa,

就我讀過的文檔,文件,「在我的XCode項目」不能被覆蓋,因爲iOS中的沙盒機制不允許您的應用訪問此空間。我記得閱讀指令「如果您需要覆蓋您的應用程序隨附的數據,將它們複製到Documents目錄並覆蓋副本。」

所以我會說你的嘗試1接近最接近的事實,因爲你需要首先將你的資源包中的文件複製到Documents目錄中。

Regards,nobi