我无法测试Fastlane动作或通道中是否存在目录。当前目录(从中运行save_path = "./dir_name"
的{{1}}或save_path = "dir_name"
的以下工作均不起作用:
fastlane
我什至试图扩展相对路径:
!Dir.empty?(save_path)
!Dir[save_path].empty?
Dir.exist?(save_path)
File.exist?(save_path)
File.directory?(save_path)
我提到了以下内容:
如何测试Fastlane中是否存在目录?感谢您的阅读和帮助!
答案 0 :(得分:0)
要检查的正确格式:
Dir.exist? "#{save_path}"
如果存在则返回true,否则返回false。
答案 1 :(得分:0)
哈哈,好吧,我发现了我的问题。我没有意识到我必须包括所有这些语句的完整路径,因为我正在使用Dir.foreach
来遍历文件系统的一部分。更新后的语法是:
Dir.foreach(save_path) do |dir|
next if dir == '.' or dir == '..'
if (File.directory?("#{save_path}#{dir}"))
begin
FileUtils.mkdir_p("./#{save_path}#{dir}/images")
rescue StandardError => e
UI.message("Failed to make directory ./#{save_path}#{dir}/images: #{e.to_s}")
return
end
end
end
在if语句中,这与File.directory?("#{dir}")
相对。我认为Ruby Dir
和FileUtil
库在路径的其余部分看起来相对于当前目录。