Кажется, я не могу найти какую-либо надежную документацию, объясняющую правильную процедуру удаления UIManagedDocument, и, в частности, ту, где включены параметры iCloud.
Я понимаю, что эта опция удалит файл по этому URL-адресу. И это, казалось бы, нормально, если iCloud не используется.
[[NSFileManager defaultManager] removeItemAtURL:fileURL error:&error];
Если используется iCloud, CoreData создает файлы повсюду, в том числе в /Document/CoreDataUbiquitySupport и в папке iCloud /CoreData. Итак, в этом случае я должен вызывать removeUbiquitousContentAndPersistentStoreAtURL
для каждого магазина в UIManagedDocument
до вызова [NSFileManager removeItemAtURL]
. Если да, то это где-то задокументировано?
[NSPersistentStoreCoordinator removeUbiquitousContentAndPersistentStoreAtURL:storeURL
options:@{NSPersistentStoreUbiquitousContentNameKey:fileName,
NSMigratePersistentStoresAutomaticallyOption:@YES,
NSInferMappingModelAutomaticallyOption:@YES,
NSSQLitePragmasOption:@{ @"journal_mode" : @"DELETE" }}
error:&error];