2013-02-03 65 views
2

我試圖刪除打印後沒有成功的文件。打印後刪除文件

實際上,我需要打印臨時生成的PDF(帶有文本和圖像),然後,當打印過程完成後,我想將其刪除。

當前PDF正被保存在Documents目錄中。將它保存在Temp文件夾中是一個好主意嗎?但是,我不得不刪除它。 我也有一個的tableView這說明PDF用戶保存,所以我只需要那些顯示(而不是那些暫時產生)

我已經與UIPrinterInteractionController的委託方法試過,但沒有任何運氣。

-(void)printInteractionControllerDidDismissPrinterOptions:(UIPrintInteractionController *)printInteractionController{ 
    NSError *error; 
    NSFileManager *fileMgr = [NSFileManager defaultManager]; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *filePath = [documentsDirectory 
          stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",PDFNameString]]; 
    if ([fileMgr removeItemAtPath:filePath error:&error] != YES) 
    { UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Error" message:[NSString stringWithFormat:NSLocalizedString(@"UnableToDeleteFile", @"Unable to delete file: %@"),[error localizedDescription]] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] autorelease]; 
     [alert show]; 
    } 

    NSLog(@"Dismissed"); 
} 

當打印選項視圖離開「發送到打印機..」視圖時,彈出警報視圖。 它甚至沒有刪除該文件,它說

可可錯誤代碼4.

有誰知道我可以用什麼方法,當印刷工藝,以刪除一個文件?

編輯

我NSLog'd如果該文件存在,它沒有。這怎麼可能?

+0

是否調用委託方法?如果是這樣,試圖刪除文件時會出現什麼錯誤? – Stavash

+0

是的,事實上alertView彈出! (NSLog也顯示「Dismiss」)。錯誤是(可可錯誤4.) – Phillip

+0

我認爲這個委託方法應該在您關閉彈出窗口後調用。所以問題是 - 你發佈的代碼甚至有機會運行? – Stavash

回答

4
+0

我試過,同樣的錯誤,雖然:( – Phillip

+0

試過這個,工作。我的錯誤是,我錯過了.pdf [NSString stringWithFormat:@「%@。pdf」,PDFNameString]; 感謝大家! – Phillip