2010-11-23 46 views

回答

5

我的猜測是,他們是私人的,沒有證件,可能未調用的API。

我無法想象有外方/應用程序即將輪詢手機定位未經用戶同意的巨大的安全隱患。如果啓用了推

+1

+1這是一個非常真實的原因,是偏執足夠保持這些API私密。 – BoltClock 2010-11-23 02:10:48

0

iOS設備已經保持對蘋果的推送服務器之一的連接,服務器必須知道在連接端的設備(以確定推送通知交付給它)。最簡單的方法是讓服務器說「告訴我你在哪裏!」作爲推送通知。

該器件還打蘋果的服務器因其他原因(App Store的更新,俘虜登錄頁面檢測),但它不太可能使服務器可以識別該設備在這些情況下。

這就是說,你可以做到這一點與用戶的同意

  • 讓您的應用背景「網絡電話」應用程序(<key>UIBackgroundModes</key><array><string>voip</string></array>我認爲)
  • 在應用程序啓動,請檢查您可以檢索當前位置(我不確定如果您在應用程序後臺執行此操作時會發生什麼情況)。
  • 維持與服務器的「voip」連接。
  • 當服務器詢問其位置的裝置,再問核心位置的位置,並將其發送到服務器。 (我認爲你還需要UIBackgroundModes中的「位置」,或者你需要保持連接活動,可能在兩個方向上;前者可能會更容易。)

您將無法停止「位置服務「圖標出現在狀態欄中。通常的多任務警告也適用(如果手機內存不足,您的應用程序可能會死亡;「voip」會導致您的應用程序在稍後重新啓動)。

+0

+1爲狡猾,但-1的建議,可能會得到一個應用程序被禁止... – 2011-10-18 14:49:32

0

我敢肯定,如果你做了「VOIP絕招」你的應用程序會從商店被拒絕。只有當您的應用程序實際上是VOIP應用程序時,才允許使用它,而不僅僅是將其用作規避後臺處理限制的技術。