【问题标题】:Relative paths on Xcode scriptsXcode 脚本上的相对路径
【发布时间】:2015-08-23 18:47:49
【问题描述】:

我正在尝试使用 Xcode 运行脚本并且有几个问题:

1) Xcode 说要将脚本拖放到运行脚本部分,但这会创建一个绝对路径:/Users/Me/Desktop/Project/etc。如果其他人或 CI 机器检查代码,这显然是没有用的。如何指定相对路径?

2) 执行脚本时,在构建过程中出现权限被拒绝错误。

(我在这里使用脚本来试验https://gist.github.com/sekati/3172554

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    "$SRCROOT" 给出项目文件夹:

    即:Users/yourUserName/MyProject

    但如果您有一个工作区文件夹,其中包含多个项目: 即:Users/yourUserName/MyWorkspace/MyProject

    您只需要工作区文件夹,使用 2 个点

    ../SomeFodler” 而 someFolder 将在工作区文件夹中创建。

    就这么简单。

    【讨论】:

      【解决方案2】:

      1) 使用以下内容编辑您的脚本:

      • 项目根目录:${SRCROOT}
      • 构建的根目录:${CONFIGURATION_BUILD_DIR}

      2) 按+8,点击Build,读取错误信息。

      【讨论】:

      • 谢谢,除了使用 Apple-B 键序列开始构建之外,我不知道您单击构建是什么意思。错误消息是“....xcode-build-bump.sh: Permission denied”
      • 当您在日志导航器中单击构建 (⌘+8) 时,运行脚本的结果会显示在右侧,您可以像使用 bash 脚本一样读取输出进行调试。
      【解决方案3】:

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-02
        • 2018-09-21
        • 2016-01-09
        • 2011-05-09
        • 2015-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多