2016-07-05 30 views
1

我有一個按鈕動作,其中核心區位法的工作無法在我的應用程序

我只是想重新啓用位置時,我不「T允許位置,並重新按一下按鈕,然後UIAlertView中出現在它再次問允許啓用位置

我不知道我穿什麼碼再次讓我的位置。有人幫我

野兔是我的源代碼 - 的

- (IBAction)geolocation:(id)sender { 
 
    if([CLLocationManager locationServicesEnabled] && 
 
     [CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied) { 
 
     // show the map 
 
     
 
    NSString *parameter = [NSString stringWithFormat:@"lat=%@&long=%@",lati,longs]; 
 
    
 
    NSURL *url_ = [[NSURL alloc]initWithString:[NSString stringWithFormat:@"http://***/near_by_api.php"]]; 
 
    
 
    NSData *postData = [[NSString stringWithFormat:@"%@",parameter] dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
 
    
 
    NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]]; 
 
    
 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
 
    [request setURL:url_]; 
 
    [request setHTTPMethod:@"POST"]; 
 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
 
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
 
    [request setHTTPBody:postData]; 
 
    
 
    NSError *error = [[NSError alloc] init]; 
 
    NSHTTPURLResponse *response = nil; 
 
    NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
 
    
 
    if (urlData) { 
 
       
 
     record = [NSMutableArray array]; 
 
     record = [NSJSONSerialization JSONObjectWithData:urlData options:kNilOptions error:nil]; 
 
     
 
     [self.view addSubview:third_view]; 
 
     [third_view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
 
     [third_tbl_view reloadData]; 
 
    }}else{ 
 
     UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Location Service Disabled" message:@"Allowed location?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",nil]; 
 
     [alert show]; 
 
    } 
 
    
 
    
 
    
 
} 
 

 
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
 
{ 
 
    if (buttonIndex == 0) 
 
    { 
 
     //code for cancel 
 
     
 

 
    } 
 
    if (buttonIndex == 1) 
 
    { 
 
     //Code for ok button 
 
     
 
     
 
        } 
 
}
樣本

回答

2

如果您不允許位置,下次必須在設置中手動激活位置。您可以通過以下方式打開設置:

if (&UIApplicationOpenSettingsURLString != NULL) { 
    NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; 
    [[UIApplication sharedApplication] openURL:url]; 
} 
else { 
    // Present some dialog telling the user to open the settings app. 
} 
相關問題