2011-06-13 46 views
0

刪除一個文件我有以下代碼:我如何在xxxx.app目錄

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSString *path1 = [[NSBundle mainBundle] pathForResource:@"myFile" ofType:@"txt"]; 

if([fileManager fileExistsAtPath:path1]) { 
    NSLog(@"-- sample file found --"); 


    AccessQuestionsDB *accessQuestionDataFunction = [AccessQuestionsDB new]; 
    idCounter = [accessQuestionDataFunction populateTheDatabase: path1 theID:0 firstTime: YES]; 

    [accessQuestionDataFunction release]; 

    [fileManager removeItemAtPath:path1 error:NULL]; 

    if ([fileManager fileExistsAtPath:path1]) { 
     NSLog (@"Remove %@ successful", path1); 
    } else { 
     NSLog (@"Remove %@ failed", path1); 
    } 

} 
else { 
    NSLog(@"-- NO SAMPLE FILE! --"); 
} 

輸出:

2011-06-13 21:41:04.471 xxxx[1726:707] Remove /var/mobile/Applications/B1CC3E09-2A1D-4CD7-976D-E190A238EC79/xxxx.app/myFile.txt successful 

當我運行它表明該文件被刪除的程序,見上文,但事實並非如此。當我檢查,使用「iPhone資源管理器」的文件仍駐留在「xxxx.app」目錄,我猜是應用程序的根目錄。

我真的很感激,如果有人可以告訴我如何真正刪除這個文件,因爲我需要它刪除。

回答

2

一旦簽名並放置在設備上,就不能在.app軟件包中添加或刪除文件。

+0

可以請你推薦我該怎麼做,所以我擺脫這些文件? – PeterK 2011-06-13 20:07:35

+0

你爲什麼試圖擺脫文件? – 2011-06-13 21:47:54

+0

我認爲這是一個好主意,只是改變了這個策略,所以謝謝。 – PeterK 2011-06-13 22:26:01

4

您無法刪除應用程序包中的文件。 此外,

if ([fileManager fileExistsAtPath:path1]) { 
    NSLog (@"Remove %@ successful", path1); 
} else { 
    NSLog (@"Remove %@ failed", path1); 
} 

輸出的「刪除成功」,因爲你的輸出,當fileExistsAtPath,即當沒有刪除它。

+0

uhhhhhh我真的很愚蠢,我一直在尋找這個很長一段時間:-( – PeterK 2011-06-13 20:07:56