Some of my users are experiencing synchronization issues when using the NSPersistentCloudKitContainer in CoreData.
This error only occurs in Apple Watch so far.
I can not find any documents about this error.
Does anyone know what this error code means?
Post
Replies
Boosts
Views
Activity
Recently I update my App a new version in App Store . What I do is only add a new Entity and add one new column to an existing Entity.Then over than 200 users run into crash when they update(Not all users run into this).
This is how I create Core Data Stack.
class AppGroupLocalPersistentContainer: NSPersistentContainer {
		open override class func defaultDirectoryURL() -> URL {
				let storeURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.mindo")
				return storeURL!
		}
}
extension NSPersistentContainer {
		var url: URL? {
				let url: URL? = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.mindo")
				return url?.appendingPathComponent("Mindo.sqlite")
		}
}
public class LocalCoreData {
		deinit {
				Logger.info("LocalCoreData deinit")
		}
		lazy var localContext: NSManagedObjectContext = {
				let context = localContainer.viewContext
				context.mergePolicy = NSMergePolicy(merge: NSMergePolicyType.mergeByPropertyObjectTrumpMergePolicyType)
				context.automaticallyMergesChangesFromParent = true
				context.stalenessInterval = 0
				return context
		}()
		lazy var localContainer: NSPersistentContainer = {
				let container = AppGroupLocalPersistentContainer(name: "Mindo", managedObjectModel: NSManagedObjectModel.mergedModel(from: [Bundle.main])!)
				guard let description = container.persistentStoreDescriptions.first else {
						fatalError("Failed to retrieve a persistent store description.")
				}
				description.setOption(true as NSNumber, forKey: NSPersistentHistoryTrackingKey)
				description.setOption(false as NSNumber, forKey: NSPersistentStoreRemoteChangeNotificationPostOptionKey)
				description.shouldMigrateStoreAutomatically = true
				description.shouldInferMappingModelAutomatically = true
				
				container.loadPersistentStores(completionHandler: { _, error in
						if let error = error as NSError? {
								fatalError("Unresolved error \(error), \(error.userInfo)")
						}
				})
				return container
		}()
}
And here is part of crash log I copy from Xcode Organizer.
Thread 0 name:
Thread 0 Crashed:
0	 libswiftCore.dylib						 0x0000000187d45cb4 _assertionFailure(_:_:file:line:flags:) + 492 (AssertCommon.swift:132)
1	 libswiftCore.dylib						 0x0000000187d45cb4 _assertionFailure(_:_:file:line:flags:) + 492 (AssertCommon.swift:132)
2	 Mindo												 0x0000000104245088 closure #1 in closure #1 in LocalCoreData.localContainer.getter + 604 (LocalCoreData.swift:39)
3	 Mindo												 0x00000001042449a0 thunk for @escaping @callee_guaranteed (@guaranteed NSPersistentStoreDescription, @guaranteed Error?) -> () + 64 (<compiler-generated>:0)
4	 CoreData											 0x000000018a3da570 -[NSPersistentStoreCoordinator _doAddPersistentStoreWithDescription:privateCopy:completeOnMainThread:withHandler:] + 1008 (NSPersistentStoreCoordinator.m:1461)
5	 CoreData											 0x000000018a28146c -[NSPersistentStoreCoordinator addPersistentStoreWithDescription:completionHandler:] + 268 (NSPersistentStoreCoordinator.m:1507)
6	 CoreData											 0x000000018a4ae880 -[NSPersistentContainer _loadStoreDescriptions:withCompletionHandler:] + 232 (NSPersistentContainer.m:284)
7	 CoreData											 0x000000018a289658 -[NSPersistentContainer loadPersistentStoresWithCompletionHandler:] + 316 (NSPersistentContainer.m:271)
8	 Mindo												 0x0000000104244d10 closure #1 in LocalCoreData.localContainer.getter + 848 (LocalCoreData.swift:36)
I know the error is occur in this line :LocalCoreData.swift:39
fatalError("Unresolved error \(error), \(error.userInfo)")
But I have no idea how to fix this.