2013-09-23 57 views
0


我是新手iOS。我一直在爲Android和iOS開發Phonegap。我的App是每1小時從服務器更新數據。在Android中,我使用服務來做到這一點。我在Android的應用程序工作非常好。現在,我想開發適用於iOS的版本,並且每隔1小時從服務器更新數據時遇到問題。我是研究,但無法找到我的應用程序。我不知道什麼是替代Android服務的解決方案。你能幫助我嗎?什麼是解決方案。這已經殺了我。非常感謝。什麼解決方案使iOS中的任務背景與Android相同?

回答

1

簡短回答是否定的,因爲Apple對後臺任務運行有限制,特別是像您這樣的病例。

但是,如果您正在下載少量內容,您還有其他選擇。從iOS 4.0或以上,你可以宣佈你的應用程序在後臺,當你屬於以下類別運行:

音頻
位置更新
IP語音
報刊下載
外部配件通信
藍牙聯網
藍牙數據共享
背景提取(IOS 7)
遠程通知(IOS 7)

爲了做到這一點,您需要在info.plist中將您的應用程序標記爲「所需背景模式」選項。一旦你宣佈了這個選項,蘋果公司會在這個區域審查你的應用程序。

爲了您的情況下載數據,可能的選擇是使用IOS 7中的新功能,即上述後臺獲取或遠程通知。 DOM的建議並不是要求您通過推送通知來下載內容。但改爲使用推送通知來喚醒您的應用程序並開始下載新內容。

如果您不想使用推送通知,唯一的辦法是註冊後臺提取。但是,無論您想使用哪個選項,每次下載只能持續30秒。之後,您的應用將再次進入暫停模式。

,你可以在這裏的鏈接看看:

Declaring Your App’s Supported Background Tasks

+0

感謝您的更換。我已經部署了推送通知的服務器。後臺獲取(IOS 7)是一個很好的解決方案,但是最新的,並不是很多用戶現在更新和使用。我會在更長的時間後選擇解決方案。 –

0

我認爲你最好的選擇是使用推送服務,而不是讓你的應用程序去獲取數據。使你的應用程序做到這一點是不可靠的phonegap應用程序,因爲你不能創建一個服務接口,你不能保證你的應用程序將運行。儘管推送服務,如果你的應用程序沒有運行,它會以說話的方式喚醒。

看看this偉大的how-to文章,也討論了什麼推動爲您提供。

+0

感謝您的回答。我的服務器正在執行(對於web和destop中的許多應用程序)並且非常大。如果使用推送通知,我必須有服務器(我不想這樣做)進行交互並向用戶的設備發送通知。這似乎有點複雜。但我會再試一次。 –

相關問題