2010-12-27 2 views
2

locationServicesEnabled 함수를 작동 시키려고합니다 ... 그러나 locationServices가 활성화되어 있는지 여부와 관계없이 UIAlert가 표시됩니다. 어떻게하면 제대로 작동합니까?locationServices iOS 4.0에서 항상 활성화 됨 UIAlert를 표시합니다.

@synthesize locationServicesEnabled 
    -(void)viewDidLoad { 
    [super viewDidLoad]; 

    if(![CLLocationManager locationServicesEnabled]) { 
     self.locationManager = [[[CLLocationManager alloc] init] autorelease]; 
     locationManager.delegate = self; 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
     [locationManager startUpdatingLocation]; 
     } else { 
      [[[[UIAlertView alloc] initWithTitle:@"Location services." 
             message:@"Location services are disabled." 
             delegate:nil 
           cancelButtonTitle:@"OK" 
           otherButtonTitles:nil] autorelease] show];  
     } 
    } 

감사합니다.

+0

이 유형의 하위보기입니까? –

+0

예, 서브 뷰 – Krismutt

답변

3

귀하의 상태가 거꾸로 보입니다. 현재 "위치 서비스가 지원되지 않으면 다른 경고를 시작합니다"라고 표시됩니다.

변경은 if에 :

if([CLLocationManager locationServicesEnabled]) 

!를 제거합니다.

+0

은 여전히 ​​작동하지 않습니다 ... if 문과 locationmanager에 경고를 넣으려고했습니다. 나는 또한 "!"을 제거했다. 위치 서비스에 대한 내 설정이 무엇이든간에 여전히 경고를 표시합니다. – Krismutt

+0

위치 서비스를 사용하여 테스트를하고 있습니까? 경고는 viewDidLoad에서 경고를 표시하지 않을 수 있습니다. performSelector : withObject : afterDelay :를 사용하여 표시하거나 viewDidAppear로 코드를 이동하십시오. – Anna

+0

performSelector : withObject : afterDelay를 사용하여 어떻게 표시합니까? – Krismutt