2013-04-09 38 views
0

我有我的基於App在iOS中區監測問題;地區監測和應用程序關閉

假設我有一個半徑爲300米的監測區域,而且我的位置離該區域中心350米(但我正在駕駛一輛汽車離我的區域更近)。

如果我關閉我的應用程序在那個時刻打開GPS瞬間脫落和方法「didEnterRegion」永遠不會被調用。這個問題不會發生,如果我的位置遠離我所監測的區域(例如500米以外)

可以解決這個問題嗎?我試着用「後臺模式」在後臺設置「所需的位置服務」,但是這使得使用GPS代替「區域監控」,並且GPS從不停止。

區域監控的問題是,當用戶已經「在區域內」時,該功能從不起作用,然後這會導致很多問題及時通知。

回答

0

首先,您不需要背景模式來使區域監視功能正常工作,即使您在睡眠設備(按頂部按鈕)時,區域監視仍將繼續起作用。如果您根據自己的需要不使用BG模式,Apple可以拒絕您的應用程序。

對於您的問題,如果您已經在裏面,並且出於任何原因沒有收到didEnterRegion,則應使用備份計劃。在您的CLRegion課程中,您可以撥打containsCoordinate以查看您是否在該地區。

你沒有得到didEnterRegion通話可能由於某種原因,你的附加區域被重新初始化。即你已經重新添加了你的地區。

+0

感謝您的回答,我不知道'containsCoordinate'函數,但我使用'distanceFromLocation'作爲同一個目標,但是這隻適用於我在區域內的情況,但是例如如果我在外面1米該區域然後在App「我去」,但如果在第二個我關閉應用程序,在那一刻「我的區域,現在裏面」,但就像我從來沒有越過邊界,該通知將不會觸發 – 2013-04-09 18:31:42

+0

測試小心,即使您關閉了應用程序,它也應該會啓動,問題是如果它被解僱,您是如何捕獲的? – mskw 2013-04-09 18:56:35

+0

我投入了大量的「的NSLog的」我的應用程序,在「didEnterRegion」進入,「didUpdateLocations」等問題是不是應用程序關閉,當我遠離我的區域,我關閉應用程序,有沒問題。但是當我只有幾米遠時,我正走到我的地區,然後關閉我的應用程序,通知不會被解僱。 – 2013-04-09 21:27:39