Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.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
Ios 在Xcode'中,双引号表示什么;搜索路径?_Ios_Xcode_Jenkins_Search Path - Fatal编程技术网

Ios 在Xcode'中,双引号表示什么;搜索路径?

Ios 在Xcode'中,双引号表示什么;搜索路径?,ios,xcode,jenkins,search-path,Ios,Xcode,Jenkins,Search Path,今晚我们遇到了一个恼人的问题,它只在Xcode的命令行构建中出现,而不是在Xcode的GUI中出现 当我们从一台带有Xcode GUI的机器构建时,递归用户头搜索路径为$PROJROOT,没有双引号,我们没有遇到任何问题。然而,当使用Jenkins进行构建时(使用Xcode的命令行构建功能),会抛出一些错误,指出头是不可编译的 经过一个小时的摸索,有人决定尝试用双引号(“$PROJROOT”)来包装Recrive$PROJROOT。一旦发生这种情况,Jenkins项目的命令行构建终于成功了 因此

今晚我们遇到了一个恼人的问题,它只在Xcode的命令行构建中出现,而不是在Xcode的GUI中出现

当我们从一台带有Xcode GUI的机器构建时,递归用户头搜索路径为$PROJROOT,没有双引号,我们没有遇到任何问题。然而,当使用Jenkins进行构建时(使用Xcode的命令行构建功能),会抛出一些错误,指出头是不可编译的

经过一个小时的摸索,有人决定尝试用双引号(“$PROJROOT”)来包装Recrive$PROJROOT。一旦发生这种情况,Jenkins项目的命令行构建终于成功了

因此,我们并不完全理解将搜索路径用引号括起来或省略引号的后果


谁能解释一下到底是什么导致了这个问题?从命令行到GUI,双引号对编译器意味着什么?

构建机器上的路径很可能有一个空间(例如“
Macintosh HD/My Project/
”)。当从命令行调用工具时,这往往会造成混淆,因为命令行解析器不知道空格字符是路径的一部分,或者它是否从另一个命令行参数开始,所以总是最好将路径用双引号括起来


另一种选择是使用带空格的反斜杠(例如,
Macintosh\HD/My\Project/
),但这更难跟踪,也更难观察。

当某个工具通过shell执行另一个二进制文件时,可能会使用Bash分词

几乎没有用处的手册页文档:

分词的详细说明:

我没有足够的声誉来发布最后3个链接

处理文件名时的常见陷阱(#1在此列表中):
mywiki.wooledge.org/bashPittles

比较Posix系统()…
stackoverflow.com/questions/5666962/will-posix-system3-call-to-an-asynchronous-shell-command-return-instally

要执行NSTask(它构建了一个参数数组,因此没有分词)..

stackoverflow.com/questions/412562/execute-a-terminal-command-from-a-cocoa-app

这与bf编程语言有什么关系?或者你只是对你的标签进行了一些创造性的自由?这确实是个问题,我昨晚在文档中发现了一个指向这一点的提示,但我不确定这是不是真的。然而,你是第二个说这是事实的人,所以我必须接受这个答案。