設定

設定

私は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

関連情報