음, 위치 서비스를 사용하여 앱을 허용하도록 사용자에게 묻는 표준 대화 상자를 프로그래밍 방식으로 불러 올 수 없습니다. 그것은 모두 IOS에 의해 완료됩니다.
그러나 CLLocationManager
인스턴스의 startUpdatingLocation
방법을 통해 언제든지 위치 업데이트를 시작할 수 있습니다. 위치 서비스가 사용 중지 된 경우 위임자가 오류 상태에 대한 알림을 받으면 사용자에게 설정으로 이동하여 앱의 위치 서비스를 사용하도록 묻는 대화 상자를 표시 할 수 있습니다. 아래 필터링 코드 kCLErrorDenied
을 참조하십시오.
#pragma mark - CLLocationManagerDelegate
- (void)locationManager:(CLLocationManager *)inManager didFailWithError:(NSError *)inError{
if (inError.code == kCLErrorDenied) {
NSLog(@"Location manager denied access - kCLErrorDenied");
// your code to show UIAlertView telling user to re-enable location services
// for your app so they can benefit from extra functionality offered by app
}
}
애플리케이션에서 URL 스키마를 통해 설정 앱을 시작할 수 없습니다.
UPDATE
: iOS5.1부터, 당신은
하지는 다음과 같은 방법을 사용할 수 있습니다.
UPDATE
: iOS5를 시작, 당신은 당신의 응용 프로그램에서 설정을 시작할 수 있습니다 :
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];