2012-05-16 58 views
0

我有一個跟蹤野生動物的應用程序,用戶根據他們的觀察結果輸入數據(例如用戶輸入他們看到的3只駝鹿)。數據然後被上傳到服務器。但是,因爲這個應用程序將用於沒有互聯網連接的領域,所以我希望在沒有連接的情況下保存數據,並在網絡可用時儘快上傳數據。一旦網絡可用,iOS應用程序將數據上傳到服務器

我知道可達性,但它看起來像我只能檢查,如果互聯網連接可用的那一刻,並在後臺不檢查互聯網連接

所以總結:

  1. 如果有互聯網連接當用戶提交數據時,那很好。
  2. 如果沒有網絡連接,當用戶提交數據時,我想保存這些數據。只要有互聯網連接,我想要上傳數據,而不需要用戶再次打開應用程序。我不能依靠用戶再次打開應用程序導致數據被提交,因爲他們可能只使用這個應用程序超出了單元塔的範圍,並且可能永遠不會在具有網絡連接的位置運行該應用程序,所以它必須自動爲他們提交這些數據。

環顧四周,我找不到答案,所以我開始懷疑......這甚至有可能嗎?

回答

0

不,Apple不允許應用程序在後臺爲此目的無限期地運行,並且它們不允許遠程觸發應用程序或任何此類性質的應用程序。充其量,您可以讓應用程序在後臺運行以獲取有關主要位置更改的通知,但您必須將其作爲適當的功能,而不是繞過此限制,否則您的應用程序將無法獲得批准蘋果。

0

我知道有可能在後臺使用網絡,但只能在用戶關閉應用程序後的有限時間內使用。您可以創建一個計時器來檢查網絡連接(使用Reachability或通過ping Google)並設置計時器在應用程序關閉後每分鐘啓動一次。這不是一個非常有效的解決方案,但它可能工作。你應該看看應用程序關閉後你能保持連接多長時間,但我認爲它是5-10分鐘。

+0

達尼特......沒想到。謝謝。 – Daniel

相關問題