私はMacを使ってXcodeビルドでいくつかのスクリプトを書こうとしています。dSYM
を確認するために使用できるいくつかのディレクトリがありますShow package contents
。 Xcodeのビルド後に実行されるスクリプトからdSYMを出力ディレクトリにコピーしようとしています。
私のコマンドは次のとおりです。
cp -vR "${BUILD_PATH}/${CONFIGURATION}-${DEVICE_TYPE}/${FRAMEWORK}.dSYM" "${OUTPUT_FOLDER}/${FRAMEWORK}.dSYM"
拡張すると、基本的には次のようになります。
cp -vR "${BUILD_PATH}/${ANOTHER_FOLDER}/MyFramework.framework.dSYM" "${OUTPUT_FOLDER}/MyFramework.framework.dSYM"
dsymフォルダをdsymフォルダにコピーすると、次のようになります。
MyFramework.framework.dSYM/MyFramework.framework.dSYM
rm -rf
コピーする前にdSYMを使用できましたが、削除せずに他の方法があるのか、私が間違っているのかもっと疑問に思います。ありがとうございます!
答え1
MyFramework.framework.dSYM 親フォルダをコピーしたくない場合は、コマンドを起動するcp
ように調整します。次のようなそのディレクトリ。前の動作と一致するにはすべてdSYMディレクトリのファイルはドットファイルにもコピーされ、bash用にそのファイルを選択するようにシェルに指示する必要があります。これはshopt -s dotglob
。
新しいcp
コマンドは次のとおりです。
shopt -s dotglob
cp -vR "${BUILD_PATH}/${CONFIGURATION}-${DEVICE_TYPE}/${FRAMEWORK}.dSYM"/* \
"${OUTPUT_FOLDER}/${FRAMEWORK}.dSYM"
私がしたことは、/*
ソースパスの最後に追加することだけでした。
実行例:
設定
$ tree -a build_path/
build_path/
└── configuration-type
└── framework.dSYM
├── a
├── .dotfile-here
└── subdir
└── b
3 directories, 3 files
実装する
cp -vR build_path/configuration-type/framework.dSYM/* output_folder/MyFramework.framework.dSYM
結果
$ tree -a output_folder/
output_folder/
└── MyFramework.framework.dSYM
├── a
├── .dotfile-here
└── subdir
└── b
2 directories, 3 files