有没有办法避免手动 运行 `pod install` 而不是同时提交 Pods 目录?

Is there a way to avoid running `pod install` manually and not commiting Pods directory at the same time?

在我当前的项目中,我被要求不要提交我的 Pods 目录,同时,伙计们希望我 'add some script' 到 XCode 构建阶段 运行 'pod install' 如果需要,在每次安装前自动设置。

目标是 而不是 到 运行 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 文件中设置操作来解决:

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

也许最好将其分成两个不同的问题。

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

Pods/

关于 运行 pod 安装 的第二个问题。在 Xcode:

  • 单击左上角的方案图标,然后 select "Edit Scheme..."
    • 或者 select 从菜单 "Product -> Scheme -> Edit scheme..."
  • 在方案中Window展开"Build"
  • Select "Pre-actions"
  • 点击 + 并选择 "New Run Script Action"
  • Select 从您的目标中提供构建设置
  • 添加脚本:

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

脚本说明:

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