Since iOS 16.3, our app users have reported that while their devices are in Airplane Mode, all MKOverlays on our MapView will simply vanish from the view. The overlays are rendered using locally stored data, so network connection isn't an issue. Also, if the users turn off Airplane Mode and still have no internet connection, the overlays will reappear as normal (although the phone will be searching for a cellular network when the user prefers otherwise).
We had hoped the update to 16.4 would solve the problem, since it mentioned fixes for MKOverlays, but so far it has persisted. We've sent a report through Feedback Assistant and a TSI request, but both have gone unanswered by Apple. Anyone have other ideas?
Post
Replies
Boosts
Views
Activity
I recently changed the persistence in my iOS app to Core Data, and I've been seeing lots of crashes in Crashlytics that I can't reproduce locally or understand how to debug. The best advice I'd found so far is to enable com.apple.CoreData.ConcurrencyDebug while running the app from Xcode, which helped me find lots of potential issues and to fix them by wrapping the offending code in perform closures. But I haven't found any more errors with that option, and there are still dozens of crashes showing up that look like they must also be coming from Core Data.
The two most frequent reports from Crashlytics are these:
Crashed: NSManagedObjectContext: BackgroundContext - EXC_BAD_ACCESS KERN_INVALID_ADDRESS
0 CoreFoundation 0x2193c __CFBasicHashRehash + 740
1 CoreFoundation 0x6d6a4 CFBasicHashRemoveValue + 2332
2 CoreFoundation 0x94300 CFDictionaryRemoveValue + 328
3 CoreData 0x4154 -[NSManagedObjectContext(_NSInternalAdditions) _forgetObject:propagateToObjectStore:removeFromRegistry:] + 120
4 CoreData 0x3d20 -[_PFManagedObjectReferenceQueue _processReferenceQueue:] + 616
5 CoreData 0x5d8d8 -[_PFAutoreleasePoolThunk dealloc] + 48
6 libobjc.A.dylib 0x15d8 AutoreleasePoolPage::releaseUntil(objc_object**) + 196
7 libobjc.A.dylib 0x4f80 objc_autoreleasePoolPop + 256
8 CoreData 0x82e78 developerSubmittedBlockToNSManagedObjectContextPerform + 284
9 libdispatch.dylib 0x3f88 _dispatch_client_callout + 20
10 libdispatch.dylib 0xb640 _dispatch_lane_serial_drain + 672
11 libdispatch.dylib 0xc18c _dispatch_lane_invoke + 384
12 libdispatch.dylib 0x16e10 _dispatch_workloop_worker_thread + 652
13 libsystem_pthread.dylib 0xdf8 _pthread_wqthread + 288
14 libsystem_pthread.dylib 0xb98 start_wqthread + 8
and
Crashed: NSManagedObjectContext: BackgroundContext - EXC_BAD_ACCESS KERN_INVALID_ADDRESS
0 CoreData 0x8e840 -[NSManagedObjectContext _dispose:] + 476
1 CoreData 0x94bf4 -[NSManagedObjectContext _dealloc__] + 604
2 CoreData 0xe5728 __internalBlockToDeallocNSManagedObjectContext_block_invoke + 56
3 CoreData 0x82df8 developerSubmittedBlockToNSManagedObjectContextPerform + 156
4 libdispatch.dylib 0x3f88 _dispatch_client_callout + 20
5 libdispatch.dylib 0xb640 _dispatch_lane_serial_drain + 672
6 libdispatch.dylib 0xc18c _dispatch_lane_invoke + 384
7 libdispatch.dylib 0x16e10 _dispatch_workloop_worker_thread + 652
8 libsystem_pthread.dylib 0xdf8 _pthread_wqthread + 288
9 libsystem_pthread.dylib 0xb98 start_wqthread + 8
Can anyone understand where in my code I should be looking, and what I should look for?