【问题标题】:How to stop Xcode build from shell script如何停止从 shell 脚本构建 Xcode
【发布时间】:2012-10-22 12:08:17
【问题描述】:

我目前正在 Xcode 中开发一个应用程序,其中我添加了一个运行 shell 脚本的构建阶段。

脚本从桌面查找资源并将它们复制到应用程序。如果文件/文件夹不存在,脚本应该取消应用程序的构建。

我已经尝试了各种方法来停止构建,例如 xcodebuild clean,但我无法完全弄清楚。这是我所拥有的:

if [ -d ~/Desktop/MyFolder ]; then
    cp -r ~/Desktop/MyFolder ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MyFolder
else
    #Stop the build
fi

有没有办法让脚本告诉 Xcode 停止构建?如果是这样,我该怎么做?

【问题讨论】:

    标签: xcode bash shell


    【解决方案1】:

    您需要从脚本中返回一个非零退出代码:

    exit 1
    

    【讨论】:

      【解决方案2】:

      另一个有用的技术是让脚本生成带有“error:”前缀的输出。 这将导致 Xcode 在构建日志中显示错误,并且如果您的 Xcode 设置在失败时停止构建 - 它会立即停止。

      除此之外,您还可以通过打印“警告:”前缀来触发警告。

      例子:

      if [ -d ~/Desktop/MyFolder ]; then
          cp -r ~/Desktop/MyFolder ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MyFolder
      else
          echo "error: Copy failed!"
      fi
      

      【讨论】:

      • exit 1 相比的优势在于它在构建时错误窗格中显示了实际错误
      • 这很好,除了存档时,它不会取消任务。您需要同时使用exit 1 来中止归档。对于普通的建筑,没关系。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 2013-12-14
      • 2010-12-27
      • 2015-10-15
      • 1970-01-01
      相关资源
      最近更新 更多