XCode构建阶段:在后台运行脚本(不阻止构建)

XCode构建阶段:在后台运行脚本(不阻止构建),xcode,Xcode,我希望在模拟器中构建和运行iOS应用程序时,能够在后台运行脚本(即不阻塞构建过程)。我已经尝试了osascript/path/to/script&,并且还将一个单独的shell脚本作为背景,该脚本执行相同的操作,但都不起作用;构建停止,我必须强制退出XCode 有什么想法吗?如果你还感兴趣的话 以下是您需要遵循的步骤: 1.将脚本的.sh扩展名更改为.command 2.现在开始使用“open/path/to/script.command”而不是调用/path/to/script.sh 差不多就

我希望在模拟器中构建和运行iOS应用程序时,能够在后台运行脚本(即不阻塞构建过程)。我已经尝试了
osascript/path/to/script&
,并且还将一个单独的shell脚本作为背景,该脚本执行相同的操作,但都不起作用;构建停止,我必须强制退出XCode


有什么想法吗?

如果你还感兴趣的话

以下是您需要遵循的步骤: 1.将脚本的.sh扩展名更改为.command 2.现在开始使用“open/path/to/script.command”而不是调用/path/to/script.sh

差不多就是这样


这将启动一个新的终端窗口并运行所需的脚本。

在构建阶段运行后台脚本时,我遇到了同样的问题,但以下内容在我的情况下确实有效。当我的应用程序运行时,脚本在后台运行。显然,除了使用“&”之外,还必须重定向标准输出。使用以下格式。(我的脚本位于目录“~/Desktop/splint_server/”中)

这会在
~/Desktop/splint\u server/run.sh运行任意脚本(将脚本的路径放在那里)。输出被重定向到名为“test”的日志文件


有关I/O重定向的更多信息

您可以在schemes设置中使用生成的post操作


“睡眠100&”很好

这方面运气好吗?我希望您只需在命令末尾附加
&
,但它看起来不起作用。遗憾的是,不起作用。我需要后台脚本时只是在运行它。如果你不关心脚本的输出
~/Desktop/splint_server/run.sh>/dev/null 2>&1&
也起作用。这对于XCode
8.2.1.
来说是不正确的,它会一直等到所有生成的进程终止。您可以通过添加
sleep 200&
来测试这一点,看看会发生什么。这需要一些访问权限
~/Desktop/splint_server/run.sh > ~/Desktop/splint_server/test 2>&1 &