현재 내 응용 프로그램은 현재 위치 사용 권한을 한 번만 묻습니다. 사용자가 허용하지 않으면 그는 일반 설정에서 위치 경고를 재설정하지 않는 한 다시 묻지 않습니다. 나중에이 권한을 부여 할 수있는 기회를 사용자에게 제공하고 싶습니다. 즉, 특정 버튼을 누르면 대화 상자가 다시 나타납니다. 이것이 가능한가?CLLocation 다시 권한을 요청하십시오
귀하의 조언에 감사드립니다.
현재 내 응용 프로그램은 현재 위치 사용 권한을 한 번만 묻습니다. 사용자가 허용하지 않으면 그는 일반 설정에서 위치 경고를 재설정하지 않는 한 다시 묻지 않습니다. 나중에이 권한을 부여 할 수있는 기회를 사용자에게 제공하고 싶습니다. 즉, 특정 버튼을 누르면 대화 상자가 다시 나타납니다. 이것이 가능한가?CLLocation 다시 권한을 요청하십시오
귀하의 조언에 감사드립니다.
새 응답 : 이렇게하면 이전 아이폰 OS 버전을 지원하는 경우
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];
이 처리 할 수 있는지 확인하려면 :
를 지금 아이폰 OS 8 당신은 프로그래밍 방식으로 장치 설정 응용 프로그램을 열 수 있습니다이전 답변 : 강제로 기본 팝업이 나타나도록 설정하고 (사용자가 설정 페이지로 이동할 수 있음) 알 수있는 방법이 없습니다. 위치 서비스는 전 세계적으로 장치 수준 여부를 사용할 수있는 경우
+(CLAuthorizationStatus)authorizationStatus
가 또한 확인할 수 있습니다 : CLLocationManager :
당신은 사용자가 앱의 위치 서비스를 허용 한 경우를 결정하기 위해 다음과 같은 방법을 사용할 수 있습니다 너무 : CLLocationManager : 위치 서비스 장치에 가능하게하는 경우
+(BOOL)locationServicesEnabled
이것은 부분적으로 만 정확합니다. locationServicesEnabled는 앱의 위치 권한이 아니라 기기 설정 만 알려줍니다. – Acey
[CLLocationManager locationServicesEnabled]
는 당신을 알려줍니다.
this에 따른 문서.
[CLLocationManager authorizationStatus]
결과는 당신이 settings.app 그를 전송하여 위치 서비스의 사용을 허용하는 사용자를 말할 수 kCLAuthorizationStatusDenied
경우 이러한
typedef enum {
kCLAuthorizationStatusNotDetermined = 0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;
중 하나를 반환합니다
아마도 그렇지 않습니다. 그것이 위치 경고를 재설정해야하는 요지입니다. – ryyst