diff --git a/clean-app.sh b/clean-app.sh index d88202e0c5..2bba9829e3 100755 --- a/clean-app.sh +++ b/clean-app.sh @@ -1,13 +1,28 @@ #!/bin/bash +delete_data() { + bundle_id="$1" + + printf '%s' "Deleting data for ${bundle_id}..." + + if defaults read "${bundle_id}" &>/dev/null; then + defaults delete "${bundle_id}" + fi + rm -rf "${HOME}/Library/Containers/${bundle_id}/Data" + + echo " Done." +} + bundle_id= case "$1" in debug) bundle_id="com.duckduckgo.macos.browser.debug" + netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*debug" ;; review) bundle_id="com.duckduckgo.macos.browser.review" + netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*review" ;; debug-appstore) bundle_id="com.duckduckgo.mobile.ios.debug" @@ -21,9 +36,18 @@ case "$1" in ;; esac -printf '%s' "Removing data for ${bundle_id}..." - -defaults delete "${bundle_id}" -rm -rf "${HOME}/Library/Containers/${bundle_id}" +delete_data "${bundle_id}" -echo " Done." \ No newline at end of file +if [[ -n "${netp_bundle_ids_glob}" ]]; then + # shellcheck disable=SC2046 + read -r -a netp_bundle_ids <<< $( + find "${HOME}/Library/Containers/" \ + -type d \ + -maxdepth 1 \ + -name "${netp_bundle_ids_glob}" \ + -exec basename {} \; + ) + for netp_bundle_id in "${netp_bundle_ids[@]}"; do + delete_data "${netp_bundle_id}" + done +fi