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

标签 python ios xcode simplehttpserver run-script

我试图在运行 iOS 项目之前运行一个 http 服务器。我在 Run Script 中添加了一个脚本 python -m SimpleHTTPServer 9527enter image description here 当我在终端中运行它时就可以了, 但是当我在 Xcode 中单击 Run 按钮时,它停止了

enter image description here

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

在 0.0.0.0 端口 9527 上提供 HTTP ... 追溯(最近一次通话): 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py”,第 162 行,在 _run_module_as_main "ma​​in", fname, loader, pkg_name) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py”,第 72 行,在 _run_code run_globals 中的执行代码 文件“/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 行,在测试中 BaseHTTPServer.test(HandlerClass, ServerClass) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py”,第 599 行,在测试中 httpd.serve_forever() 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py”,第 236 行,serve_forever 轮询间隔) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py”,第 155 行,在 _eintr_retry 中 返回函数(*参数) 键盘中断

请帮助或尝试提供一些想法如何实现这一目标。提前致谢。

最佳答案

您的构建仍在该阶段,因为您正在执行的命令只有在您提出请求后才会终止。最有可能的是,Web 服务器正在正确运行,但是 Xcode 正在等待它终止,直到您单击“停止”按钮它才会终止。

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

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

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

关于python - 在 Xcode 中运行 iOS 项目之前运行 python HttpServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50212388/

相关文章:

python - 将列转换为字典并访问

python - 字符串的基本递归?

iphone - 如何访问和修改 UINavigationBar

ios - 我怎样才能让我的segues更顺利地过渡?

xcode - iOS 8 UINavigationBar 背景图片

iphone - 我的应用程序被 Apple 拒绝,因为它在 iPhone 5 上崩溃

xcode - 使用物理静音 iPhone 按钮使 AVFoundation 声音静音

python - 如何使用 pyaudio 播放立体声 aiff 文件?

python - Django 操作错误 1405 在syncdb上

objective-c - openssl/bn.h : No such file or directory