2015-07-21 19 views
0

我有一個應用程序通過json/http從服務器獲取數據(實際上,它將數據與核心數據同步)。用戶需要在5-10分鐘內獲得新數據時收到通知。我計劃擁有大約10個用戶(作爲內部企業應用程序),因此我可以簡單地使用NSURLSession在後臺獲取數據。我應該使用Apple Push Notification還是簡單地在後臺爲簡單應用程序提取數據?

但是,如果內存不足,iOS可能會殺死我的應用程序(甚至用戶可能會殺死它!),並且不會發送通知!所以,我相信APN可能會被使用。但是這個解決方案對於這樣一個簡單的任務和少量的用戶來說看起來非常複雜理想情況下,我應該有一些服務/守護程序或(像在Android上的IntentService),但我不能在iOS上擁有它,所以只有兩種方式:APN或後臺應用程序(可能會被殺死)。這裏有什麼正確的方法?

回答

1

即使您的應用程序死亡,您的應用程序也可以在後臺打開並獲取數據。此功能稱爲後臺應用程序刷新。更新數據後,您可以向用戶顯示本地通知,這可以通過不使用APNS來簡化。但是,如果您想使用APNS,則可以使用Amazon SNS發送推送通知。如果我不記得錯誤,它會提供每月免費的第一百萬次推送通知。不過,這很容易實現。

+0

謝謝,我不知道。那麼,APNS的主要目的是什麼?它是否適用於擁有數百萬客戶的服務(例如,從亞馬遜推向客戶要比爲數百萬客戶支持http服務器便宜)?看起來我可以留在BAR,背景獲取和「UILocalNotification」。順便說一句,做IOS上的電子郵件客戶端使用BAR?我的客戶對電子郵件客戶端的工作方式很滿意,所以我可以簡單地做同樣的事情。 – user996142

+0

當應用程序收到來自APNS的通知時,它立即運行AppDelegate來處理該通知。這意味着,您的應用由APNS自舉。但是,當您使用BAR時,您的應用程序會定期要求在服務器上進行更改。因爲你說它是內部的,將被10個人使用,這是最簡單的方法。對於大型項目,定期向服務器請求某些內容會爲應用程序和服務器創建負載,大部分時間不必要。 – furkan3ayraktar

+0

如果你使用交換郵件,你的郵件是通過像APNS這樣的系統到達的,但有一點不同。如果您想了解它的工作原理,請搜索MDM。另一方面,基於pop/imap的郵件會像使用BAR功能的應用程序一樣週期性地請求更改。 – furkan3ayraktar

相關問題