什么时候清除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... !!!\");
    }
    
已邀请:
我认为问题在于您的路径不正确。始终使用
- (NSString *)stringByAppendingPathComponent:(NSString *)aString
NSString
的方法。 您可以尝试打印出现在得到的路径(也许缺少反斜杠),但是无论如何,您都应该使用我描述的方法。 UPD:另一件事是,实际上从未清理过“ 3”字。如果要自动清洁,请使用
NSTemporaryDirectory()
。     

要回复问题请先登录注册