cd ~/Desktop
nano extract-ipa.sh
#!/usr/bin/env zsh
set -euo pipefail
WATCHED_DIR="$HOME/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps"
OUTPUT_DIR="$HOME/Downloads/ipa"
INTERVAL=2
usage() {
echo "Usage: $0 [-w WATCHED_DIR] [-o OUTPUT_DIR] [-i INTERVAL] <APP_ID>"
exit 1
}
while getopts ":w:o:i:h" opt; do
case $opt in
w) WATCHED_DIR="$OPTARG" ;;
o) OUTPUT_DIR="$OPTARG" ;;
i) INTERVAL="$OPTARG" ;;
h) usage ;;
*) usage ;;
esac
done
shift "$((OPTIND - 1))"
if [[ $# -lt 1 ]]; then
echo "Error: Missing APP_ID" >&2
usage
fi
APP_ID="$1"
FOLDER_ID="${APP_ID#id}"
trap 'echo; echo "Interrupted by user."; exit 1' INT
echo "[i] Watching for IPA of $APP_ID in:"
echo " $WATCHED_DIR"
echo "[i] Will copy to: $OUTPUT_DIR"
echo "[i] Poll interval: ${INTERVAL}s"
echo
while true; do
if [[ -d "$WATCHED_DIR" ]]; then
if IPA_DIR=$(find "$WATCHED_DIR" -type d -name "$FOLDER_ID" -print -quit); then
if [[ -n "$IPA_DIR" ]]; then
if IPA_FILE=$(find "$IPA_DIR" -type f -name "*.ipa" -print -quit); then
mkdir -p "$OUTPUT_DIR"
echo "[i] Found: $(basename "$IPA_FILE"), copying…"
cp -f "$IPA_FILE" "$OUTPUT_DIR/$APP_ID.ipa"
echo "[✔] Success! Saved to $OUTPUT_DIR/$APP_ID.ipa"
exit 0
fi
fi
fi
fi
sleep "$INTERVAL"
done
chmod +x extract-ipa.sh
./extract-ipa.sh id6743628763
(id берите из ссылки в браузере, например ТикТок ID 835599320)
./extract-ipa.sh id6743628763
(id берите из ссылки в браузере, например ТикТок ID 835599320)