Удаленный UIDocument часто снова появляется из облака

Работаю с документами в облаке... * Добавить документ в облако * Удалить этот документ из облака * Каким-то образом этот документ снова появляется через несколько секунд.

Вот подробности:

Я создаю экземпляр UIDocument следующим образом

    NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
    NSURL *ubiquitousPackage = [[ubiq URLByAppendingPathComponent:@"Documents"] URLByAppendingPathComponent:@"somenewfilename"];

    MyDoc* docTemp = [[MyDoc alloc] initWithFileURL:ubiquitousPackage];
    docTemp.mapContent = [NSString stringWithString:self.currentdocument.mapContent];

    [docTemp saveToURL:[docTemp fileURL] 
      forSaveOperation:UIDocumentSaveForCreating 
     completionHandler:^(BOOL success) {            
         if (success) {
             DLog(@"New document %@ saved/added: %@", newFilename, docTemp);
         }
         else {
             DLog(@"Failed saving new document: %@", newFilename);
         }
         [docTemp release];
     }];

Затем удаляю его позже следующим образом:

    NSURL* fileURL = self.currentdocument.fileURL;
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void)       {
    NSFileCoordinator* fileCoordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
    NSError* error = nil;
    [fileCoordinator coordinateWritingItemAtURL:fileURL options:NSFileCoordinatorWritingForDeleting error:&error byAccessor:^(NSURL* writingURL) {
        if (error != nil) {
            DLog(@"Error with %@! %@", fileURL, error);
            return;
        }
        DLog(@"Got writingURL: %@", writingURL);
        NSFileManager* fileManager = [[NSFileManager alloc] init];
        if ([fileManager removeItemAtURL:writingURL error:nil]) {
            DLog(@"Deleted %@!", writingURL);
        }
        else {
            DLog(@"ERROR Failed deleting %@!", self.currentdocument);
        }
        [fileManager release];
        [fileCoordinator release];
    }];
});

Теперь, несмотря на то, что я сделал выше, похоже, что файл был удален на (короткое) время , но в некоторых случаях удаленный документ снова появляется в облаке через одну или несколько секунд. (Я могу проверить это через настройки iCloud на другом устройстве, либо через запрос, присылающий уведомления об обновлениях). Только в НЕКОТОРЫХ случаях файл остается удаленным. В чем дело?

Я должен отметить, что даже удаление файла из «Настройки» -> «iCloud» приведет к описанной выше схеме. Файл волшебным образом снова появляется через несколько секунд. Проблемы со временем? Проблемы с синхронизацией?

5
задан Jonny 25 June 2012 в 08:12
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: