From 5687aa7bbbab749bbd474497ff2158955655e675 Mon Sep 17 00:00:00 2001 From: Jose Tapia Date: Fri, 2 Sep 2016 13:45:38 +0200 Subject: [PATCH] Crash fix - ios8 - CLLocationManager.allowsBackgroundLocationUpdates --- iOS_SDK/OneSignal/OneSignalLocation.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/iOS_SDK/OneSignal/OneSignalLocation.m b/iOS_SDK/OneSignal/OneSignalLocation.m index 82e2e5116..964392cc4 100644 --- a/iOS_SDK/OneSignal/OneSignalLocation.m +++ b/iOS_SDK/OneSignal/OneSignalLocation.m @@ -160,7 +160,8 @@ + (void) internalGetLocation:(bool)prompt { locationManager = [[clLocationManagerClass alloc] init]; [locationManager setValue:[self sharedInstance] forKey:@"delegate"]; - if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { + float deviceOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; + if (deviceOSVersion >= 8.0) { //Check info plist for request descriptions //LocationAlways > LocationWhenInUse > No entry (Log error) @@ -169,7 +170,9 @@ + (void) internalGetLocation:(bool)prompt { NSString* alwaysDescription = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysUsageDescription"]; if(backgroundModes && [backgroundModes containsObject:@"location"] && alwaysDescription) { [locationManager performSelector:@selector(requestAlwaysAuthorization)]; - [locationManager setValue:@YES forKey:@"allowsBackgroundLocationUpdates"]; + if (deviceOSVersion >= 9.0) { + [locationManager setValue:@YES forKey:@"allowsBackgroundLocationUpdates"]; + } } else if([[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationWhenInUseUsageDescription"])