2013-12-11 68 views
3

我需要實現一個iOS應用程序,它需要從服務器接收通知。問題是這將在沒有互聯網連接的局域網中運行。所以我不認爲我能夠使用Apple推送通知。 而且我也不認爲我可以運行後臺進程來連續收聽服務器(因爲我知道蘋果不允許這樣做)。 那麼實現這個最好的方法是什麼?從服務器發送消息到iPad沒有互聯網

+1

這是一家民營企業的應用程序?電力使用是一個問題嗎? – Wain

+0

是的。這將是一個內部應用程序,但稍後客戶可能想將其放入應用程序商店。該應用程序將持續運行至少約4小時,每天最多8小時。所以電池不應該在4個小時內死掉。好,如果它可以停留8小時。 – Madhu

+0

您是否已經有了收集服務器中信息的方法?你是否在服務器內部使用時間線,以便你可以像NSDate一樣尋找下一次「呼叫」的時間? – user2277872

回答

3

如果這是爲了私人用途,因爲這將不被允許在應用程序商店,您可以運行一個沉默的音軌,以保持應用程序在後臺活着。然後,您可以檢入服務器並向用戶顯示通知(作爲本地通知,而不是推送通知)。


對於未來/更廣泛的分佈,您可能不想使用公共應用程序商店。看看B2B選項。

+0

謝謝,這是一種選擇。但是我們的客戶提到了在後期將其添加到應用商店,如果這是一個需求,我能做到這一點嗎?如果我這樣實現,App Store會因爲後臺處理而拒絕應用程序? – Madhu

+0

這是公開發布還是出售給其他私人經營的企業?如果公開,是的,該應用程序很可能會被拒絕(所以它應該是)。 – Wain

+1

@Madhu如果它晚些時候進入應用商店,難道你不能移除Wain'推薦的推薦通知的背景方法嗎? – Popeye

0

自ios 7以來,您可以使用後臺任務進行下載和網絡連接。現在官方支持蘋果。看看這個教程:

NSURLSession Tutorial

iOS 7 SDK: Background Transfer Service

+0

謝謝。我會檢查一下。 – Madhu

+0

我遵循這些教程,並通過一個接一個地調用下載來實現後臺傳輸以在後臺連續運行。它似乎現在在後臺運行。但問題是,當我在前臺運行它時,傳輸會不斷髮生。但是當它移動到背景時,傳輸速度變慢,我可以看到兩個請求之間大約有1分鐘的差距。不知道爲什麼會發生。 – Madhu

相關問題