Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Xcode中运行iOS项目之前,先运行python HttpServer_Python_Ios_Xcode_Simplehttpserver_Run Script - Fatal编程技术网

在Xcode中运行iOS项目之前,先运行python HttpServer

在Xcode中运行iOS项目之前,先运行python HttpServer,python,ios,xcode,simplehttpserver,run-script,Python,Ios,Xcode,Simplehttpserver,Run Script,我正在尝试在运行iOS项目之前运行http服务器。我在runscript中添加了一个脚本python-msimplehttpserver 9527。 当我在终端运行它时,它是好的, 但是当我点击Xcode中的Run按钮时,它停止了 当我停止项目时,Xcode显示了一些错误日志: 在0.0.0.0端口9527上提供HTTP服务。。。 回溯(最近一次呼叫最后一次): 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/py

我正在尝试在运行iOS项目之前运行http服务器。我在
runscript
中添加了一个脚本
python-msimplehttpserver 9527
。 当我在终端运行它时,它是好的, 但是当我点击Xcode中的
Run
按钮时,它停止了

当我停止项目时,Xcode显示了一些错误日志:

在0.0.0.0端口9527上提供HTTP服务。。。 回溯(最近一次呼叫最后一次): 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py”,第162行,在运行模块中 “main”,fname,loader,pkg_name) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py”,第72行,在运行代码中 run_globals中的exec代码 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SimpleHTTPServer.py”,中第235行 测试() 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SimpleHTTPServer.py”,测试中的第231行 测试(HandlerClass,ServerClass) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py”,测试中的第599行 httpd.永远为你服务() 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py”,第236行,在serve_中 轮询(U间隔) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py”,第155行,在 返回函数(*args) 键盘中断


请帮助或尝试给出一些如何实现这一点的想法。提前感谢。

您的生成将保留在此阶段,因为您正在执行的命令在您请求之前不会终止。最有可能的情况是,web服务器正在正确运行,但是Xcode正在等待它终止,直到您单击“停止”按钮,它才会终止

当您停止Python中内置的web服务器时,您看到的堆栈跟踪是正常的。如果在使用Terminal时使用CTRL+C退出,您将看到类似的消息

通常,构建的“executeshell”阶段应该运行命令,这些命令执行一项任务,然后自行退出,但是,如果您试图使web服务器在构建期间运行,则需要采用两个阶段。在构建开始时的一个阶段启动web服务器并将其分叉,在构建结束时的另一个阶段终止它。根据我的经验,虽然变量不会在构建阶段之间持续存在,但您可以将PID写入文件,然后在稍后的阶段中读取它

除了这个解决方案,我建议您重新考虑是否需要在构建过程中运行服务器。如果您将来开始使用一些连续集成,或者只是想同时运行多个构建,那么分配端口号的额外复杂性将带来挑战