2012-06-26 18 views
0

我是iOS編程新手,需要實現位置感知應用程序。我已經可以使用重要的位置更改服務,但是當我離開我的視圖時,它會停止接收新的更新。如何在所有應用程序上接收重要的位置更改而不是隻有一個視圖?

如果我對這種觀點進入後臺我仍然得到更新,一切都很好,但如果我改變我的看法給其他停止......

我認爲這是合乎邏輯的出現這種情況了,但我需要以接收我的其他觀點的更新以及...

我應該複製每個視圖的代碼嗎我有還是可以讓我在任何視圖中收到更新,比如讓我的應用程序回答而不是每個視圖。

感謝, GustDD

回答

1

在AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
{ 
    if(!locationManager) { 
     locationManager = [[CLLocationManager alloc] init]; 
     locationManager.delegate = self; 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
     locationManager.distanceFilter = kCLDistanceFilterNone; 
     [locationManager startUpdatingLocation]; 
     } 
} 

- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { 
//here you will get upadated location 
    //here you can add delegate method call to where you want to use this location or you can create a shared variable 

} 
+0

添加該代碼如果我有代碼的appDelegate這將是活躍在所有的應用程序? – Gust

+0

是的,它會一直有效,直到你按下home鍵 –

1

您可以:

  1. 在應用程序委託定義位置實例,這樣您就可以隨時訪問。

  2. 使用NSNotificationCenter在位置更改時發佈通知。

  3. 當位置發生變化時,使用代表傳遞信息。

相關問題