2012-09-05 69 views
0

我有一個iPhone-iCloud應用程序。現在一個文檔的狀態爲UIDocumentStateSavingErrorUIDocumentStateClosed。我可以在developers.icloud.com上看到文件狀態爲「文件上傳正在等待」。但我不知道現在該做什麼如何解決UIDocumentStateSavingError和UIDocumentStateClosed

當我嘗試刪除該文件的代碼:

NSFileCoordinator* fileCoordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil]; 
[fileCoordinator coordinateWritingItemAtURL:fileURL options:NSFileCoordinatorWritingForDeleting error:nil byAccessor:^(NSURL* writingURL) { 
    NSFileManager* fileManager = [[NSFileManager alloc] init]; 
    [fileManager removeItemAtURL:writingURL error:nil]; 
}]; 

文件仍然存在。我試圖刪除所有設備上的應用程序,但沒有任何更改。我怎樣才能刪除這個文件或解決問題?

回答

0

這是很久以前,但仍然沒有答案,因此,如果您的問題仍然存在:

對我來說,它的工作原理預先設置[文件管理removeItemAtURL:...]與[文件管理setUbiquitous:NO ...]上的文件然後讓fileManager刪除本地副本。

小心使用NSError和fileManager操作的布爾結果處理來確保它確實有效。所以如果你找回一個NSError,你可以看到它失敗的原因。這總是很好的做法。

我偶然發現了你的問題,因爲即使在刪除和創建之間需要幾個小時,重新創建刪除的文件後,我也會收到消息「文件上傳正在等待」。

+0

給讀者的警告:如果您將'[fileManager setUbiquitous:NO ...]'添加到'[fileManager removeItemAtURL:...]',您首先將文檔從iCloud中刪除,設備,然後刪除您下載的副本 - 因此該文件將永遠丟失!如果你不想要這個結果,你可以使用'[fileManager evictUbiquitousItemAtURL:]',它重新下載本地副本。 – Anton

+0

是的,你是對的安東 - 但這正是這個問題的主人想要的結果:從任何地方刪除文件。至少我是這樣理解他的問題的...... – konran

相關問題