Sorry I'm late to the game but here's how to actually fix this issue.
The Apple Engineer was correct, you'll need to add this flag to your scheme.
-com.apple.CoreData.ConcurrencyDebug 1
Xcode->Scheme->Edit Scheme->Arguments Tab
With the flag enabled, your code will break every place there is a concurrency issue with Core Data. The likely fix for this is to, (As the engineer pointed out) use perform or performAndWait where your NSManagedObjectContext is called.
func save() {
context.performAndWait {
do {
try context.save()
} catch let error{
// Handle Error
}
}
}