创建一个在后台运行为Web Server的iOS应用程序

时间:2013-12-20 07:17:23

标签: ios cocoahttpserver

我想制作一个iOS应用程序(专门用于iPad),其行为类似于Web服务器。 我看到COCOAHTTPSERVER附带的例子,但我不明白。

我的应用程序是否可以在后台接收来自同一设备中运行的其他应用程序的请求?

如果有可能,我该怎么做?

否则,如果不可能,那么Web服务器应用程序的含义是什么,不能在后台运行?

我的确切问题如下:我需要一个iOS应用程序,它可以在同一个设备上的safari上运行javascript应用程序。我可以创建一个在后台表现得像Web服务器的应用程序(因为safari必须在前台),还是有另一种方法来实现它?

3 个答案:

答案 0 :(得分:3)

可以在iOS后台运行Web服务器但不幸的是只能在有限的时间内(最多10分钟)运行,操作系统可以随时停止它。有关详细信息,请参阅此技术说明[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

答案 1 :(得分:2)

此库可以使您的任务更容易。

https://github.com/swisspol/GCDWebServer

答案 2 :(得分:0)

不,iOS不支持在后台运行的Web服务器。

Apple这样做的原因是Web服务器必须侦听入站网络请求。侦听入站网络请求要求无线电始终处于活动状态。有源无线电会耗尽电池。