我正在開發一款應用程序,讓用戶將語音(以及其他內容)錄製到應用程序的Documents目錄中。但是當我錄製聲音時,我正在錄製應用程序的緩存目錄,然後在用戶說「好的,保存這個聲音」之後,我將它應用到Documents目錄。到目前爲止所有這些工作。但是,如果我嘗試刪除緩存中的數據文件,或者當我嘗試移動它時遇到問題。什麼時候iPhone應用程序緩存被清除?
所以我的問題是,我應該只留下緩存中的數據,以便iOS將處理它,或者我需要手動刪除緩存中的文件。如果是的話,我該如何去做。這是我迄今爲止的代碼(這是行不通的)
NSFileManager *fm = [NSFileManager defaultManager];
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSError *error = nil;
BOOL success = [fm removeItemAtPath:[NSString stringWithFormat:@"%@%@", directory, currentEntry.audioFileURL] error:&error];
if (!success || error) {
// it failed.
NSLog(@"it failed to delete!!! %@ %@", error, [error userInfo]);
} else {
NSLog(@"Deleted... yipee... !!!");
}
'$(APP_WRAPPER)/ Library/Caches'中的數據不會被備份或恢復,但它也不會自動獲得。當它失敗時,你會得到什麼錯誤? – 2011-05-23 18:15:21
嗨克里斯,事實證明我使用了錯誤的路徑。管理解決它。謝謝您的幫助。 – hdsenevi 2011-05-24 12:26:24