2010-11-03 129 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

相關問題