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"])