【问题标题】:Is there a way to avoid running `pod install` manually and not commiting Pods directory at the same time?有没有办法避免手动运行“pod install”而不是同时提交 Pods 目录?
【发布时间】:2019-07-02 17:10:12
【问题描述】:

在我当前的项目中,我被要求不要提交我的 Pods 目录,同时,人们希望我在 XCode 构建阶段“添加一些脚本”,如果在每次安装之前,它将自动运行“pod install”需要。

目标是在克隆 repo 后在终端中手动运行 pod install

我花了一天时间试图解决这个问题,但我发现了一些没有太多细节的参考资料:

iOS using pod install as Pre-action run script for building the project

CocoaPods version control, must use pod install when cloning repo

我还发现对于 CI,同样的问题可以通过在 .yml 文件中设置操作来解决:

Travis-CI is unable to open file

你知道这种脚本会是什么样子吗?

【问题讨论】:

    标签: xcode cocoapods build-process git-clone run-script


    【解决方案1】:

    如果这可以分成 2 个不同的问题,也许会更好。

    但是现在我们已经在这里了,为了避免你的存储库中的 pods 目录,将这一行添加到你的 .gitignore 文件中:

    Pods/
    

    关于运行 pod install 的第二个问题。在 Xcode 上:

    • 单击左上角的方案图标并选择“编辑方案...”
      • 或者从菜单中选择“产品 -> 方案 -> 编辑方案...”
    • 在方案窗口中展开“构建”
    • 选择“预操作”
    • 点击+并选择“新建运行脚本动作”
    • 选择以提供来自您的目标的构建设置
    • 添加脚本:

      cd ${PROJECT_DIR}
      
      test -e Pods || pod install && sleep 30
      

    脚本说明:

    • 将目录更改为项目的主文件夹
    • 检查是否存在名为 Pods 的文件或文件夹,如果没有则运行 pod install 并等待 30 秒(在继续构建之前)。您可能需要根据需要等待下载 pod 的时间来调整或多或少地等待。

    【讨论】:

    • 我的实际问题是Do you know what this kind of script could look like?
    • @joliejuly 抱歉,我只是想截个图以便更好地解释它
    • 当我在另一台机器上克隆 repo 并尝试运行项目时,构建失败并出现错误:/../Pods/Target Support Files/Pods-Watcher/Pods-Watcher.debug.xcconfig :无法打开文件(在项目“Watcher”中的目标“Watcher”中)(在目标“Watcher”中)。但我接受这个答案,因为问题出在需求上,我认为
    • @joliejuly 我最初理解错了,请检查更新的答案,我已经对此进行了测试,它会在克隆后安装 pod。希望这可以帮助你。
    • 你完全正确,本来可以更清楚。我所说的左上角是 Xcode 左上角的图标,除了播放和停止按钮。但会根据您的反馈编辑@AndrewKoster
    猜你喜欢
    • 1970-01-01
    • 2021-12-15
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    相关资源
    最近更新 更多