upload-ios.sh (1049B)
1 #!/bin/bash 2 set -euo pipefail 3 4 REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)" 5 SECRETS="$REPO_ROOT/.asc/secrets.sh" 6 IPA_PATH="${1:-/tmp/Crossmate-export/Crossmate.ipa}" 7 8 if [[ ! -f "$SECRETS" ]]; then 9 echo "Error: $SECRETS not found. See Scripts/secrets.sh.example for the required format." 10 exit 1 11 fi 12 13 if [[ ! -f "$IPA_PATH" ]]; then 14 echo "Error: IPA not found at $IPA_PATH" 15 echo "Run Scripts/publish-ios.sh --check first, or pass an IPA path:" 16 echo " bash Scripts/upload-ios.sh /path/to/Crossmate.ipa" 17 exit 1 18 fi 19 20 source "$SECRETS" 21 22 cd "$REPO_ROOT" 23 24 mkdir -p "$REPO_ROOT/private_keys" 25 cp "$REPO_ROOT/.asc/AuthKey_${KEY_ID}.p8" "$REPO_ROOT/private_keys/" 26 27 cleanup_key() { 28 rm -f "$REPO_ROOT/private_keys/AuthKey_${KEY_ID}.p8" 29 rmdir "$REPO_ROOT/private_keys" 2>/dev/null || true 30 } 31 trap cleanup_key EXIT 32 33 echo "==> Uploading $IPA_PATH to App Store Connect..." 34 xcrun iTMSTransporter \ 35 -m upload \ 36 -assetFile "$IPA_PATH" \ 37 -apiKey "$KEY_ID" \ 38 -apiIssuer "$ISSUER_ID" \ 39 -v informational 40 41 echo "==> Done!"