【问题标题】:How to run Fastlane action in a subfolder如何在子文件夹中运行 Fastlane 操作
【发布时间】:2016-09-01 06:50:58
【问题描述】:

我正在使用 Fastlane 构建我的 iOS 项目,并且我正在使用 Carthage 操作

问题是我在不同的子文件夹中有几个 iOS 项目,所以我需要在该子文件夹中运行 carthage(command: "bootstrap")

我尝试切换到项目所在的目录,但它不起作用

lane :test do
    Dir.chdir("../MyProject") do
        carthage(command: "update")
    end
end

我怎样才能做到这一点?

【问题讨论】:

    标签: ios fastlane


    【解决方案1】:

    我最终只是在子文件夹中调用了一个脚本:

    lane :build do
        Dir.chdir("../MySubdir") do
            sh "carthage bootstrap --platform iOS"
        end
    end
    

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题,有几个类似的项目,并试图为他们所有人重新使用 Fastfile

      我的方法是在根 MyProject/fastlane 文件夹上有一个通用的 Fastfile,其中包含所需的所有逻辑,例如您的

      lane :test do
        carthage(command: "update")
      end
      

      然后,对于每个项目/子文件夹,您都有一个只有 loads the main Fastfile from your ../MyProject folder 的 Fastfile,例如:

      import "../MyProject/fastlane/Fastfile"
      

      之后,您可以在具有所有项目共享逻辑的特定文件夹上执行命令,能够只在一个地方解决问题和增加命令,还可以使用override_lane command为每个项目进行自定义

      【讨论】:

      • 你知道你是否也可以用 import_from_git 做到这一点吗?
      • @jesses.co.tt 我相信确实如此。我已经在 Fastlane 的早期 2.x 版本上进行了测试,当时它确实有效,我建议在较新的版本上进行测试以确保它仍然有效
      猜你喜欢
      • 2019-12-09
      • 2019-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 2020-05-25
      • 1970-01-01
      • 2016-12-15
      相关资源
      最近更新 更多