Location access - App is not asking for user permi

2019-01-11 20:45发布

Description

App is not asking for user permission to access location and getting state notDetermined

Working perfectly till iOS-10

var locationManager : CLLocationManager!

func getLocationDetails()
    {
        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        locationManager.requestAlwaysAuthorization()
        locationManager.allowsBackgroundLocationUpdates = true
        locationManager.startUpdatingLocation()

    }

func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)
    {
        if status == CLAuthorizationStatus.authorizedAlways || status == CLAuthorizationStatus.authorizedWhenInUse
        {
            locationManager.startUpdatingLocation()
        }
    }

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
    {


    }

Plist screenshot enter image description here

Background Modes

enter image description here

4条回答
三岁会撩人
2楼-- · 2019-01-11 21:20

I have gone through the Apple documentation and found the solution for this question.

Apple has changed few guidelines to get user location.

Here is the Video Link: Apple- What's New in Location Technologies

Full code for location access in Swift & Objective-C both

Solution:

Now we need to add three Authentication Key into Plist:

  1. NSLocationAlwaysAndWhenInUseUsageDescription
  2. NSLocationWhenInUseUsageDescription
  3. NSLocationAlwaysUsageDescription

Plist will look like : enter image description here And Authentication message screen will look like:

enter image description here

Full code for location access

查看更多
我想做一个坏孩纸
3楼-- · 2019-01-11 21:24

I've added both Keys in the info.plist file in order to ask for permissions, however after deleting the app and opened it again the simulator didn't display the alert to permit the user select one option.

I could make the alert appear again after deleting the app, then opening the settings application and finally installing again the app.

Hope it could help somebody.

查看更多
一夜七次
4楼-- · 2019-01-11 21:34

Please change requestAlwaysAuthorization to whenInUseAuthentication. Then it will start working. I think this might be due to GM Seed/Beta version of xcode. In stable version we might not have this issue.

查看更多
Evening l夕情丶
5楼-- · 2019-01-11 21:37

Please ask for the other permission also "When ever in use permission" and add both permission on the plist.

查看更多
登录 后发表回答