在以下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
操作?
答案 0 :(得分:5)
事实证明这很简单,只需添加cd.. &&
即可更改到根目录。
lane :test_sh do
sh "cd .. && touch where_am_i.txt"
end
https://github.com/fastlane/fastlane/issues/990#issuecomment
答案 1 :(得分:1)
要更改您可以使用 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