2010-11-03 127 views
0
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

// Override point for customization after application launch. 

locmanager = [[CLLocationManager alloc] init]; 
[locmanager setDelegate:self]; 
[locmanager setDesiredAccuracy:kCLLocationAccuracyHundredMeters]; 
[locmanager setDistanceFilter:10]; 
[locmanager startUpdatingLocation]; 

[window makeKeyAndVisible]; 

return YES; 
} 

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation  *)newLocation fromLocation:(CLLocation *)oldLocation 
{ 

CLLocationCoordinate2D loc = [newLocation coordinate]; 
latitude = [NSString stringWithFormat: @"%f", loc.latitude]; 
longitude= [NSString stringWithFormat: @"%f", loc.longitude]; 
//Call to the web service for sending data 

} 

当手机启动时,是否可以自动启动此应用程序?我不希望用户启动此应用程序。启动GPS应用程序即服务

回答

1

不,应用程序启动的唯一方法是让用户启动它,或者通过在主屏幕上点击它,或者通过推送通知来打开它。

CoreLocation作为iOS的一部分在后台运行,但您的应用只能在打开数据时访问该数据。如果它在多任务模式下运行,我想你可以通过后台任务访问位置数据。

请注意,无论何时使用核心位置,“位置”指示符都会显示在右侧的状态栏中。这是出于隐私的原因。

+0

当应用程序在后台运行时,是否可以将数据发送到服务器。 – agupta 2010-11-03 22:57:22

+0

不是真的 - 只有当您安排后台任务时。你有10分钟时间来完成后台任务。 – Moshe 2010-11-03 23:12:40

+0

我在某处读到,当您调用startMonitoringSignificantLocationChanges时,位置服务将使用单元格定位监视位置更改,而不管您的应用程序是否正在运行,然后在发生位置更改时启动应用程序。 这是否有意义... – agupta 2010-11-03 19:30:56

0

不,除非是越狱。

+0

这真的是一个评论,而不是一个答案这个问题。请使用“添加评论”为作者留下反馈。 – 2012-08-18 10:25:49

+0

问题是“是否有可能......”答案(我的答案)是“否”。 – Brad 2012-09-04 19:14:58

相关问题