8

fastlane build_and_rename在以下运行Fastfile

  lane :build_and_rename do
    sigh
    gym(output_directory: "./Build/")
    sh "mv ./Build/MY-APP.ipa ./Build/nicely_name.ipa"
  end

导致以下错误ln: ./Build/MY-APP.ipa: No such file or directory

测试表明,FastLane 的sh动作在./fastlane目录中运行。例如,fastlane test_sh对于以下Fastfile

  lane :test_sh do
    sh "touch where_am_i.txt"
  end

结果在文件夹中where_am_i.txt创建。./fastlane不在运行的文件夹fastlane

显然我可以更改所有脚本以包含../但想知道是否有办法在 xCode 的根项目中fastlane执行运行操作?sh

4

3 回答 3

10

原来是相当简单,只需添加cd.. &&更改到根目录即可。

lane :test_sh do
    sh "cd .. && touch where_am_i.txt"
end

https://github.com/fastlane/fastlane/issues/990#issuecomment

于 2015-12-18T14:34:33.757 回答
2

要更改目录,您可以使用 Ruby,Dir.chdir

例子

lane :test_sh do
  Dir.chdir("..") do
    # code here runs in the parent directory
    sh "touch where_am_i.txt"
  end    
end

查看Fastlane 文档

于 2021-06-09T08:48:26.017 回答
0

在 shell 脚本中调用 fastlane 操作。

转到具有 fastlane 文件夹的文件夹。

path="快车道的路径"

cd $path/
fastlaneAction="fastlane test_do"
$fastlaneAction
于 2021-09-21T11:50:55.007 回答