code

requestWhenInUseAuthorization이 사용자에게 위치에 대한 액세스를 요청하지 않는 이유는 무엇입니까?

codestyles 2020. 11. 9. 08:12
반응형

requestWhenInUseAuthorization이 사용자에게 위치에 대한 액세스를 요청하지 않는 이유는 무엇입니까?


viewDidLoad방법으로는

locationManager = [[CLLocationManager alloc]init]; // initializing locationManager
locationManager.delegate = self; // we set the delegate of locationManager to self.
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];


if([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
    [locationManager requestWhenInUseAuthorization];
}

그리고 요청이 호출되었지만 사용자에게 메시지가 표시되지 않습니까? 왜?


plist파일 을 업데이트해야 할 수도 있습니다. 다음은 빠르고 더러운 방법에 대한 튜토리얼입니다 .

Info.plist 파일에 다음 키 중 하나를 추가해야합니다.

NSLocationWhenInUseUsageDescription

NSLocationAlwaysUsageDescription

또한 해당 위치 방법에 대한 승인을 요청해야 WhenInUse하거나 Background. 다음 호출 중 하나를 사용하십시오.

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

도움이되는 게시물도 있습니다.

iOS 8에서 작동하지 않는 위치 서비스

이 답변은 파일 업데이트 방법에plist 대해 자세히 설명 합니다 .

info.plist에 다음 줄 중 하나를 추가합니다.

<key>NSLocationWhenInUseUsageDescription</key>
<string>The spirit of stack overflow is coders helping coders</string>

<key>NSLocationAlwaysUsageDescription</key>
<string>I have learned more on stack overflow than anything else</string>

코드전달 하기 전에 info.plist 파일에있는 사전 항목의 문자열을 사용자 정의하고 맞춤법을 검사 할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/31845450/why-requestwheninuseauthorization-doesnt-prompt-the-user-for-access-to-the-loca

반응형