FastLanes. Запустите sh action в корневой папке проекта Xcode
Бег 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's sh
действие проходит в ./fastlane
каталог. Пример, fastlane test_sh
для следующих Fastfile
lane :test_sh do
sh "touch where_am_i.txt"
end
приводит к where_am_i.txt
создан в ./fastlane
папка. Не в папке где fastlane
был запущен.
Очевидно, я мог бы изменить все сценарии, чтобы включить ../
но интересно, был ли способ сделать fastlane
бежать sh
действие в корневом проекте xCode?
3 ответа
Получается довольно просто, просто добавь cd.. &&
перейти в корневой каталог.
lane :test_sh do
sh "cd .. && touch where_am_i.txt"
end
Чтобы изменить каталог, вы можете использовать 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.
path = "путь к скоростной полосе"
cd $path/
fastlaneAction="fastlane test_do"
$fastlaneAction