2011-08-19 60 views
0

您好我想每5分鐘從後臺調用Web服務,並根據我想要顯示通知給用戶的響應。有沒有辦法在iOS 4上做到這一點? 我認爲這可以通過使用CLLocation管理器。 請建議我如何做到這一點。通過定時器iPhone背景網絡連接

謝謝!

回答

1

不,是的,當你的應用程序被推到後臺時,所有NSTimers都無效,你的應用程序進入暫停模式。

只有三種類型的應用程序可以在後臺運行(音頻,voip和基於位置的)。 使用CLLocationManager時,您的應用只會收到重大更改。因此無法每隔5分鐘做一次。

1

將背景模式用於除設計目的以外的其他任何內容是確保將應用拒絕的火法。

既然你想定期訪問一個Web服務,爲什麼不從服務器上去做。

  1. 當你應用程式初次啓動註冊該設備的遠程通知
  2. 當你的應用得到通知,這是即將去到後臺,從步驟返回與設備令牌平你的網絡服務器1
  3. 有你Web服務器調用每五分鐘外部Web服務
  4. 當您收到一個適當的迴應,當用戶確認通知,並打開您的應用程序使用的設備令牌
  5. 發送遠程通知到設備,安裝了該應用的下載什麼曾通知它需要從您的服務器或外部Web服務

如果您提供更多關於應用程序上下文的信息,可以進一步細化此解決方案。

+0

就像你的解決方案一樣,只是在應用程序啓動後纔會進行推送通知的註冊,只是讓速度提高一點。 – rckoenes

+0

的確,好的建議。已編輯帖子以反映。 –