2014-09-20 69 views
0

我掙扎了幾天,我無法解決我的問題(儘管這裏的所有信息)。對不起,我很愚蠢。位置服務不工作在ios8

在我的應用程序位置服務停止在iOS 8中工作。在此版本之前一切正常。 我在這裏讀到,必須在de plist文件中有一些鍵,並且它們必須使用外部編輯器進行設置。

這就是: Screenshot of keys in Plist file

但它仍然沒有工作。在模擬器中,或在我的設備上,我不會被提示。

我也明白給我的文件添加一些代碼。 我應該添加什麼代碼,我應該在哪裏添加它?

這是我的.h文件:

@property (strong, nonatomic) CLLocationManager *location; 

這是我.m文件:

@synthesize location; 

-(void) locationStuff { 

//Get location en set MapView 

location=[[CLLocationManager alloc]init]; 
location.delegate=self; 
location.desiredAccuracy=kCLLocationAccuracyBest; 
location.distanceFilter=kCLDistanceFilterNone; 
location.pausesLocationUpdatesAutomatically = NO; 

[self startUpdatingLocation]; 

[mapView setDelegate:self]; 
[mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES]; 
[mapView setCenterCoordinate:mapView.userLocation.location.coordinate animated:YES]; 

[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:NO] forKey:@"appRunning"]; 

[[NSUserDefaults standardUserDefaults] synchronize]; 

}

可以請,誰能幫助我?再次感謝並抱歉,我不明白提供給其他問題的答案。我真的需要一些簡單的解釋。

回答

2

它已在iOS 8中更改,您必須使用以下代碼請求位置服務。

  • requestAlwaysAuthorization - 爲背景的位置

    [self.locationManager requestAlwaysAuthorization];

  • requestWhenInUseAuthorization -location只有當應用程序被激活

    [self.locationManager requestWhenInUseAuthorization];

如果你不把EIT她的兩個請求,iOS會忽略startUpdateLocation請求。

另外。 包括NSLocationAlwaysUsageDescriptionNSLocationWhenInUseUsageDescription鍵,我看到你已經完成。

希望這會有所幫助。

+0

它有助於部分。我把代碼[self.location requestAlwaysAuthorization];在我的viewDidLoad中。有時會彈出對話框並且不是。鑰匙仍然在同一個地方。有時它會出現一個位置,我的應用程序工作,有時沒有可見的位置,顯然該應用程序無法正常工作。有什麼建議麼? – A3O 2014-09-20 15:01:55

+0

解決了!謝謝 – A3O 2014-09-21 06:13:21

+1

CNA你寫詳細請問你是如何解決? – 2014-09-23 13:35:41