转自:http://www.mokten.com/2011/12/run-a-web-server-from-an-iphone-app/
Run a Web Server from an iPhone App
Yoo-Jin Lee Wed, Dec 14, 2011
If you ever needed to run a simple web server from an iPhone App here is one way to do it.
This example uses a lightweight web server cocoahttpserver and a sleep timer based onMMPDeepSleepPreventer by Marco Peluso.
Key Points
- Running a web server from an iPhone App is possible but will not respond when in the suspended or terminated state
- Stop the iPhone App going to the suspended state, when exiting, by playing an empty audio file
- Playing an audio file does not work in the iOS Simulator v5.0. So you need to test this on a device.
- Background executiion is only available in iOS 4 and later
- Reference: iOS Developer Library
Overview
- MTAudioPlayer.m: plays an empty audio file that loops forever
- Based on old version of MMPDeepSleepPreventer by Marco Peluso
- Needed to be modified because the the periodic thread scheduling was not working in iOS 5
- iPhoneHTTPServer-Info.plist
- Add property: Required background modes: App plays audio
- iPhoneHTTPServerViewController.m: Opens up the localhost server URL and should show /Web/index.html
Full sample code: cocoahttpserver
Run the sample: /Samples/iPhoneHTTPServer