Comment supprimer des documents iCloud?

J'utilise un UIDocument avec iCloud. Je n'utilise pas CoreData. Quelle est la meilleure façon de supprimer un UIDocument?

Pour supprimer le document d'iCloud, vous devez d'abord get le nom de file que vous souhaitez supprimer. et puis vous pouvez le supprimer en utilisant NSFileManager.

NSSsortingng *saveFileName = @"Report.pdf"; NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]; NSURL *ubiquitousPackage = [[ubiq URLByAppendingPathComponent:@"Documents"] URLByAppendingPathComponent:saveFileName]; NSFileManager *filemgr = [NSFileManager defaultManager]; [filemgr removeItemAtURL:ubiquitousPackage error:nil]; 

C'est le moyen, dont j'ai l'habitude de supprimer le document, Check it out. C'est génial pour moi. Merci

Copié à partir de la section "Suppression d'un document" du Guide de programmation d'applications basées sur des documents pour iOS .

 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { 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]; }]; }); 

NB: "Lorsque vous supprimez un document du stockage, votre code doit approximer ce que fait UIDocument pour les opérations de lecture et d'écriture: il doit exécuter la suppression de manière asynchronous sur une queue d'arrière-plan et utiliser la coordination des files."

SWIFT 3 provient de la réponse de @AlexChaffee

 func deleteZipFile(with filePath: Ssortingng) { DispatchQueue.global(qos: .default).async { let fileCoordinator = NSFileCoordinator(filePresenter: nil) fileCoordinator.coordinate(writingItemAt: URL(fileURLWithPath: filePath), options: NSFileCoordinator.WritingOptions.forDeleting, error: nil) { writingURL in do { try FileManager.default.removeItem(at: writingURL) } catch { DLog("error: \(error.localizedDescription)") } } } } 

Je pense avoir trouvé une solution:

 [[NSFileManager defaultManager] setUbiquitous:NO itemAtURL:url destinationURL:nil error:nil] 

Source: http://olib.blogspot.com/

Voir la documentation d'Apple sur la gestion du cycle de vie d'un document dans la section Suppression d'un document.