find ${HOME}/Library/Developer/Xcode/DerivedData/ -maxdepth 1 -name "MyProject*" -type d -exec rm -rf {} \;
${HOME}/Library/Developer/Xcode/DerivedData
フォルダ内の、MyProject
から始まるフォルダを非再帰的に検索し、削除している。
CI/CDを使っている場合は、何か問題が発生した際、DerivedDataの削除をボタン一つで手動でできるようにしておくと便利かもしれない。以下は、gitlab CI/CDでそのような設定をした時の一例。
.gitlab-ci.yml
stages:
- refresh
- test
- archive
.job_template: &before_script_definition
before_script:
- export LANG=en_US.UTF-8
- security unlock-keychain -p $PATH_PHRASE "${HOME}/Library/Keychains/login.keychain-db"
- export DEVELOPER_DIR=/Applications/Xcode11.4.1.app/Contents/Developer
refresh_build_machine:
<<: *before_script_definition
tags:
- ios
stage: refresh
when: manual
script:
- find ${HOME}/Library/Developer/Xcode/DerivedData/ -maxdepth 1 -name "MyProject*" -type d -exec rm -rf {} \; # DerivedData 中間データ(キャッシュ) 削除
# 後略
参考
[Xcode][小ネタ] DerivedDataの削除についての備忘録
[Sy] Linuxでファイル名で検索したファイルを一括削除するコマンド(ワイルドカードも使えるよ)
【find】Linuxでファイル・ディレクトリ検索をするコマンド
再帰なしで見つける
GitLab CI/CD pipeline configuration reference