I'm trying to use some fancy iBeacons without success, kCLAuthorizationStatusNotDetermined all time. According to other questions it's a requirement to add those keys to info.plist (some questions says one, other says both). According to an article for iBeacons I need the Always option.
<key>NSLocationWhenInUseUsageDescription</key> <string>Nothing to say</string> <key>NSLocationAlwaysUsageDescription</key> <string>Permiso para acceder siempre</string>
At viewDidAppear:
self.locManager = [[CLLocationManager alloc]init]; self.locManager.delegate = self; [self.locManager requestAlwaysAuthorization]; NSUUID* region1UUID = [[NSUUID alloc]initWithUUIDString:@""]; //ibeacon real UUID between "". Checked it's not nil. self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:proximityUUID identifier:@"myCoolString"]; self.beaconRegion.notifyEntryStateOnDisplay = YES; self.beaconRegion.notifyOnEntry = YES; self.beaconRegion.notifyOnExit = NO; [self.locManager startMonitoringForRegion:self.beaconRegion]; [self.locManager startRangingBeaconsInRegion:self.beaconRegion];
Icon didn't appear at Settings/Privacy/Location until it was executed one of the two last methods. The Alert View to approve permissions never appears. If I perform a manual change at Location Settings and check it it will change status but at a few moments later Location at Settings will delete "Always" status for my app and will leave it blank again. Later I check with no luck
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
Any ideas what is missing or wrong? Thank you
For iOS 11 developers, you should take a look at this post: Location Services not working in iOS 11.
TL;DR: you need ALL THREE location keys in the Info.plist:
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key> <string>...</string> <key>NSLocationAlwaysUsageDescription</key> <string>...</string> <key>NSLocationWhenInUseUsageDescription</key> <string>...</string>
Along with InfoPlist.strings
translations in case of multilingual apps.
Had exactly the same problem. It turned out that in my case the NSLocationAlwaysUsageDescription
was required in my InfoPlist.strings
localization files as well. Having NSLocationAlwaysUsageDescription
in Info.plist
wasn't enough...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With