簡體   English   中英

如何定期獲取位置並將位置發送到后台ios9中的服務器

[英]How to get location periodically and send location to server in background ios9

我希望我的應用每15分鍾獲取一次位置,然后將位置信息發送到服務器。 在服務器中,我比較了位置,並將響應作為通知發送給客戶端(幾乎像推送通知,但在我的服務器上)。

您可以將CLLocation Managers授權設置為requestAlwaysAuthorization以連續獲取位置(即使您的應用程序在后台)。

self.locationManager = [[CLLocationManager alloc] init];
    self.locationManager.delegate = self;
    if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)])
    {
        [self.locationManager requestAlwaysAuthorization];
    }

注意: requestAlwaysAuthorization會消耗大量電池,Apple審閱者會希望有一個很強的理由將其用於您的應用程序才能獲得批准。 另外,請確保選中了所需背景模式下的“位置更新”。

您可以使用NSTimer確定15分鍾,並從上述CLLocationManager獲取位置。

之后,您可以使用后台任務來更新服務器的位置。

如果您有任何疑問,可以訪問以下鏈接: http : //www.creativeworkline.com/2014/12/core-location-manager-ios-8-fetching-location-background/ http://mobileoop.com/ iOS 7的 背景位置更新程序設計iOS周期性的iOS背景位置更新

請看一下蘋果文檔

指南中有一些關鍵點,您可能會對Apple文檔中的以下部分感興趣。

對於不需要高精度位置數據的應用,強烈建議進行重大更改位置服務。 使用此服務,僅當用戶的位置發生顯着變化時才生成位置更新。 因此,對於社交應用程序或為用戶提供非關鍵的,與位置相關的信息的應用程序而言,它是理想的選擇。 如果在發生更新時掛起了該應用程序,則系統會在后台將其喚醒以處理更新。 如果應用啟動了該服務然后終止,則當新位置可用時,系統會自動重新啟動應用。 此服務在iOS 4及更高版本中可用,並且僅在包含蜂窩無線電的設備上可用。

有關實現的詳細信息,請看一下獲取位置事件背景(ios)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM