ioscore-dataiclouduimanageddocumentnsfilecoordinator

Unable to delete UIManagedDocument using NSFileCoordinator


I've modified Apple's Lister sample to work with UIManagedDocument instead of UIDocument. Everything works except for deleting a document. When I attempt to delete a document using Apple's code in the removeListAtURL method in ListUtilites.swift which uses the NSFileCoordinator I get this error message after the listed document disappears then reappears in the simulator:

CoreData: error: -addPersistentStoreWithType:SQLite configuration:(null) URL:file:///Users/.../AppGroup/E16FD6E8-8AD6-44BB-A031-5FB497F04FD4/Documents/myList.list/StoreContent/persistentStore options:{
    NSPersistentStoreRemoveStoreOnCleanupKey = 1;
} ... returned error Error Domain=NSCocoaErrorDomain Code=134080 "(null)" UserInfo={NSUnderlyingException=Can't add the same store twice} with userInfo dictionary {
    NSUnderlyingException = "Can't add the same store twice";

The "Can't add the same store twice" error doesn't make any sense to me since I'm deleting the file. Perhaps I need to close the file first? The file is local and not in iCloud so I don't think I need to delete any transaction logs. Also when I remove the NSFileCoordinator code it works fine just user NSFileManager right away it works fine for local files but I get the same error for iCloud files.


Solution

  • I forgot to close the document first. Remember kids, always close your documents before deleting them... especially UIManagedDocuments.