1

在我正在開發的iOS應用中,我需要能夠確定即使關閉應用時用戶是否位於機構中。基本的前提是用戶將選擇一個位置(麥當勞,沃爾瑪,銀行等),然後當他們走到選定的位置時,應用程序將提醒他們並提供一個行動呼籲(無法真正詳細說明什麼是行動)。現在,我使用Google Places API並使用核心位置查找距離用戶當前位置最近的商戶。這工作,但只有當應用程序打開。我想知道是否有任何方法可以使用Passbook,因爲它可以確定用戶何時走進某個位置。但是,我不確定我能做到這一點,因爲我沒有擁有用戶可能選擇的任何設施。有關框架,方法等方面的建議嗎?由於確定用戶是否處於後臺的特定位置

回答

0

重要的一點。當應用程序關閉時,在用戶啓動(單擊應用程序圖標)或系統啓動(例如,當存在voIP要求時)之前,您無能爲力。

也可以參照該應用程序在後臺是(它是由用戶發起,然後回家按鈕被單擊)

對於你願意,你可以實現UIApplicationDelegate方法來激活和關閉位置的功能經理在背景中。

例如您可以將一個觸發每個間隔啓動的位置,然後停止位置經理的NSTimer,以避免消耗電池

- (void)applicationDidEnterBackground:(UIApplication *)application { 
    [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(launchLocationManager) userInfo:nil repeats:YES] 
} 

- (void) launchLocationManager { 
    myLocationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    myLocationManager.delegate = self; 
    [myLocationManager startUpdatingLocation]; 
} 

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ 
    //report location 
    [myLocationManager stopUpdatingLocation]; 

} 
+0

如果你開始監測區域的變化,你可以不執行後臺處理用戶啓動應用程序。 – tomasmcguinness

相關問題