2012-06-26 14 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. 当位置发生变化时,使用代表传递信息。

相关问题