4

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

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

如果可能的话,我该怎么做?

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

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

4

3 回答 3

4

可以在 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

于 2015-01-12T17:14:47.870 回答
3

这个库可以让你的任务更容易。

https://github.com/swisspol/GCDWebServer

于 2014-07-30T07:31:58.743 回答
-2

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

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

于 2014-01-22T19:05:33.480 回答