【发布时间】:2015-08-23 18:47:49
【问题描述】:
我正在尝试使用 Xcode 运行脚本并且有几个问题:
1) Xcode 说要将脚本拖放到运行脚本部分,但这会创建一个绝对路径:/Users/Me/Desktop/Project/etc。如果其他人或 CI 机器检查代码,这显然是没有用的。如何指定相对路径?
2) 执行脚本时,在构建过程中出现权限被拒绝错误。
(我在这里使用脚本来试验https://gist.github.com/sekati/3172554)
【问题讨论】:
我正在尝试使用 Xcode 运行脚本并且有几个问题:
1) Xcode 说要将脚本拖放到运行脚本部分,但这会创建一个绝对路径:/Users/Me/Desktop/Project/etc。如果其他人或 CI 机器检查代码,这显然是没有用的。如何指定相对路径?
2) 执行脚本时,在构建过程中出现权限被拒绝错误。
(我在这里使用脚本来试验https://gist.github.com/sekati/3172554)
【问题讨论】:
"$SRCROOT" 给出项目文件夹:
即:Users/yourUserName/MyProject
但如果您有一个工作区文件夹,其中包含多个项目: 即:Users/yourUserName/MyWorkspace/MyProject
您只需要工作区文件夹,使用 2 个点:
“../SomeFodler” 而 someFolder 将在工作区文件夹中创建。
就这么简单。
【讨论】:
1) 使用以下内容编辑您的脚本:
${SRCROOT} ${CONFIGURATION_BUILD_DIR}
2) 按⌘+8,点击Build,读取错误信息。
【讨论】:
1) 在我的一个 Xcode 项目中,我有以下生成源代码文档的脚本。如您所见,脚本的每一行都使用相对路径。我什至不需要使用${SRCROOT}。
# change directory because Doxyfile is configured with a relative input path ".."
cd doxygen
# clean the directory
rm -rf html
# generate docs
/opt/local/bin/doxygen Doxyfile
# open the html documentation
open html/index.html
2) “权限被拒绝”错误的原因可能是您没有在脚本上设置可执行位。在控制台上,键入此命令以设置可执行位,然后再次尝试运行脚本。
chmod +x /path/to/xcode-build-bump.sh
【讨论】: