2011-10-20 27 views
1

我想在應用程序關閉時將數據發送到我的Web服務器。那可能嗎?我已閱讀我可以發送的位置,但我也想發送一些電話號碼。iPhone應用程序在關閉時發送數據

如果無法運行該應用程序,我至少可以從我的服務器與它通信,然後在後臺做些什麼?

感謝

回答

2

當應用程序進入後臺的應用程序委託的applicationDidEnterBackground方法被調用。

在該方法中,您可以使用UIApplication對象上的beginBackgroundTaskWithExpirationHandler開始後臺處理。

只要意識到你不會永遠在後臺執行任務。如果您需要知道您是否用完了時間,您可以通過閱讀UIApplication中的backgroundTimeRemaining屬性找出您已離開多久。

如果你的處理很短,你應該沒問題,但要記住,如果你的處理需要網絡訪問,那麼你不能確定需要多長時間。

+0

這是我的觀察經驗,在目前(至少iOS 5)你可以得到10分鐘的後臺處理時間。但是,這可能取決於不同的因素(可能是電池壽命等),您的體驗可能會有所不同。 – Damien

+0

從服務器請求信息到應用程序,與通知類似的過程,但我實際上不發送信息,我只是喚醒應用程序發送給我新數據。 – subharb

+0

您無法通信(或喚醒)未從iOS上的遠程服務器運行的應用程序。使用Apples Remote Notifications服務可以實現類似的功能(因爲該服務是始終運行的iOS級服務)。 – Damien

相關問題