estoy trabajando con documentos en la nube ... * Agregar un documento a la nube * Eliminar el documento de la nube * De alguna manera ese documento reaparece a los pocos segundos.eliminados UIDocument reaparece a menudo a partir de nubes
He aquí los detalles:
puedo crear una instancia de UIDocument como esto
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];
}];
A continuación, elimine más tarde como esto:
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];
}];
});
Ahora a pesar de hacer lo anterior, parece que el archivo se elimina durante un (breve) tiempo, pero en varias ocasiones el documento eliminado vuelve a aparecer en la nube uno o unos segundos más tarde. (Puedo verificar esto a través de la configuración de iCloud en otro dispositivo, o mediante una consulta que envía notificaciones sobre actualizaciones). Solo en ALGUNAS ocasiones, el archivo permanece eliminado. ¿Que esta pasando?
Debo señalar que incluso eliminar el archivo de Configuración-> iCloud causará el patrón anterior. El archivo reaparece mágicamente unos segundos más tarde. ¿Problemas de tiempo? ¿Problemas de sincronización?
¿Has descubierto cómo resolver esto? – Bongeh
Creo que mi problema fue que siempre mantuve todos los documentos en mi lista (tengo una interfaz con todos los documentos en la nube ...) abiertos. Ahh, en pocas palabras, se supone que no debes mantener los archivos abiertos a menos que los abras en una especie de interfaz de editor o similar. Mientras un documento esté abierto, creo que no tendría sentido eliminarlo. Cambié mi aplicación para abrir solo documentos cuando el usuario toca en ellos. Creo que esto solucionó mi problema. – Jonny
bien, gracias, eso podría ayudarme a averiguar por qué mis documentos no están desasignando. tal vez necesito cerrarlos :) – Bongeh