スクリーンショットを自動的に作成するために fastlane と snapshot を使用しています。これを容易にするために、データをアプリにコピーする必要があります。この場合、.app コンテナー内の 1 つのフォルダーから別のフォルダーへの一連のフォルダーとドキュメント。
これまでのところ、Documents フォルダーは作成されていますが、そこにファイルがコピーされることはありません。この時点で、パスを間違って提供しているのか、それともこれにつながるために他に何が間違っているのかわかりません。私は Ruby にあまり慣れていないので、単純に間違ったコードを持っているだけかもしれません。
どんな提案でも大歓迎ですので、教えてください、何が欠けていますか?
example_files = "./sample_data/Documents"
folder_name = "Documents"
setup_for_device_change do |lang, device|
app_path = "/tmp/snapshot/build/SyncSpace.app/"
FileUtils.mkdir_p(File.join(app_path, folder_name))
Dir.glob(File.join(example_files, '*')).each do |example_path|
FileUtils.cp_r(example_path, File.join(app_path, folder_name)) rescue nil # in case the file already exists
end
end
更新 - 最終的に私の問題は、転送したいファイルに対して使用しているパスが正しく機能しないことです。ルートレベルから必要なフォルダーまでのフルパスを指定すると、機能します。作業ディレクトリ上に追加のフォルダーだけを含む短いパスを使用しようとすると失敗します。
フォローアップとして、作業ディレクトリが .../fastlane で、データが .../fastlane/sample_data/Documents にある場合、./sample_data/Documents を使用するだけでは機能しないのはなぜですか?