Why requestWhenInUseAuthorization doesn't prompt the user for access to the location?

前端 未结 1 1031
刺人心
刺人心 2021-01-29 21:45

In my viewDidLoad method I have

locationManager = [[CLLocationManager alloc]init]; // initializing locationManager
locationManager.delegate = self;         


        
1条回答
  •  时光说笑
    2021-01-29 22:38

    You probably need to update your plist file. Here's a tutorial how to do it, quick & dirty:

    You need to do is to add one of the following keys to your Info.plist file:

    NSLocationWhenInUseUsageDescription
    
    NSLocationAlwaysUsageDescription
    

    You also need to request authorization for the corresponding location method, WhenInUse or Background. Use one of these calls:

    [self.locationManager requestWhenInUseAuthorization]
    [self.locationManager requestAlwaysAuthorization]
    

    There's also a post that I found helpful:

    Location Services not working in iOS 8

    This answer details how to update your plist file:

    Add one of the following lines to your info.plist

    NSLocationWhenInUseUsageDescription
    The spirit of stack overflow is coders helping coders
    
    NSLocationAlwaysUsageDescription
    I have learned more on stack overflow than anything else
    

    You'll probably want to customize and spell-check the strings of the dictionary entry that goes in the info.plist file before shipping the code.

    0 讨论(0)
提交回复
热议问题