2013-12-20 140 views
2

我想製作一個iOS應用程序(專門用於iPad),其行爲類似於Web服務器。 我看到了COCOAHTTPSERVER的例子,但我不明白。創建一個在後臺運行爲Web服務器的iOS應用程序

我的應用程序可能會在後臺接收來自運行在同一設備上的其他應用程序的請求嗎?

如果有可能我該怎麼做?

否則,如果不可能,Web服務器應用程序的含義是什麼,它不能在後臺工作?

我的確切問題如下:我需要一個iOS應用程序,可以從Safari應用程序接收來自Safari應用程序的請求,在同一個設備上運行。我可以創建一個應用程序,在後臺運行時類似於Web服務器(因爲Safari必須處於前臺),還是有另一種方法來實現這一點?

+0

我發現類似的問題上 [StackOverffow] [1] [1]:http://stackoverflow.com/questions/ 9613357/IOS-背景的應用程序的網絡訪問 – Ievgenii

回答

1

不,iOS不支持在後臺運行的網絡服務器。

Apple做這件事的原因是Web服務器必須偵聽入站網絡請求。監聽入站網絡請求需要無線電始終處於活動狀態。有源收音機耗盡電池。

2

可以 iOS上運行在後臺Web服務器無奈只能在有限的時間(最多10分鐘max)和OS可以在任何時間停止。有關更多信息,請參閱此技術說明[1]。

如果您可以接受該限制,則應該使用已經存在的Web服務器,如GCDWebServer,它可以爲您處理背景模式[2]。

[1] https://developer.apple.com/library/ios/technotes/tn2277/_index.html

[2] https://github.com/swisspol/GCDWebServer#gcdwebserver--background-mode-for-ios-apps

相關問題