From 2912dcf010e001f8e008e4ec4ade2ab5b5f51bc7 Mon Sep 17 00:00:00 2001 From: John Rommel Estropia Date: Sat, 5 Aug 2017 08:25:28 +0900 Subject: [PATCH] iOS 11 fixed the NSFetchRequest.affectedStores bug --- Sources/CoreStoreBridge.m | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Sources/CoreStoreBridge.m b/Sources/CoreStoreBridge.m index 2ded9b0..82763b2 100644 --- a/Sources/CoreStoreBridge.m +++ b/Sources/CoreStoreBridge.m @@ -235,15 +235,16 @@ CSWhere *_Nonnull CSWherePredicate(NSPredicate *_Nonnull predicate) CORESTORE_RE - (void)setAffectedStores:(NSArray *_Nullable)affectedStores { - // Bugfix for NSFetchRequest messing up memory management for `affectedStores` - // http://stackoverflow.com/questions/14396375/nsfetchedresultscontroller-crashes-in-ios-6-if-affectedstores-is-specified - - if (NSFoundationVersionNumber < NSFoundationVersionNumber10_0) { + NSProcessInfo *processInfo = [NSProcessInfo processInfo]; + if ([processInfo isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){ 11, 0, 0 }] + || ![processInfo isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){ 10, 0, 0 }]) { self.safeAffectedStores = affectedStores; [super setAffectedStores:affectedStores]; return; } + // Bugfix for NSFetchRequest messing up memory management for `affectedStores` + // http://stackoverflow.com/questions/14396375/nsfetchedresultscontroller-crashes-in-ios-6-if-affectedstores-is-specified if (self.releaseArray != NULL) { CFRelease(self.releaseArray);