From c550d4cfd3e0d508ec0e5c11efd4b74b5367b129 Mon Sep 17 00:00:00 2001 From: oratis Date: Sun, 21 Jun 2026 00:55:32 +0800 Subject: [PATCH] fix(mas): declare exempt encryption + add build-number override MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit App Store export compliance flagged the MAS upload ("missing export compliance") and the France branch demanded a CCATS-style document upload. Markup's only crypto is standard HTTPS/TLS (rustls — exempt), so set ITSAppUsesNonExemptEncryption=false in the MAS bundle's Info.plist before signing: the App Store then auto-clears export compliance with no prompt and no France docs, matching the iOS app. Also add an optional MAS_BUILD_NUMBER env that overrides CFBundleVersion — needed when re-uploading the same marketing version (the store requires a strictly higher build number). Co-Authored-By: Claude Opus 4.8 --- scripts/build-mas.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/build-mas.sh b/scripts/build-mas.sh index e4d52d8..81f1cbd 100755 --- a/scripts/build-mas.sh +++ b/scripts/build-mas.sh @@ -64,6 +64,20 @@ VITE_MARKUP_MAS=1 pnpm tauri build \ [ -d "$APP" ] || { echo "::error:: $APP missing — build failed" >&2; exit 1; } +# MAS-only Info.plist tweaks, applied before signing (codesign seals Info.plist): +# - ITSAppUsesNonExemptEncryption=false: Markup's only crypto is standard +# HTTPS/TLS (exempt), so declaring it lets the App Store auto-clear export +# compliance — no per-upload encryption prompt, no France docs. Matches iOS. +# - CFBundleVersion: set MAS_BUILD_NUMBER to bump the build number when +# re-uploading the same marketing version (the App Store needs a higher one). +PLIST="$APP/Contents/Info.plist" +/usr/libexec/PlistBuddy -c "Add :ITSAppUsesNonExemptEncryption bool false" "$PLIST" 2>/dev/null \ + || /usr/libexec/PlistBuddy -c "Set :ITSAppUsesNonExemptEncryption false" "$PLIST" +if [ -n "${MAS_BUILD_NUMBER:-}" ]; then + /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $MAS_BUILD_NUMBER" "$PLIST" + echo " CFBundleVersion → $MAS_BUILD_NUMBER" +fi + echo "==> 2/5 Embedding provisioning profile" cp "$MAS_PROFILE" "$APP/Contents/embedded.provisionprofile"