From 5c1aa453c1f158fccea132284610b24e022b9c4e Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Sat, 13 Jun 2026 22:02:44 +0000 Subject: [PATCH] fix(ci/release): quit Xcode before iOS build so it can't prune the profile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A running Xcode.app manages ~/Library/Developer/Xcode/UserData/Provisioning Profiles/ and deletes manually-installed (unrecognized) distribution profiles — which is why the App Store profile vanishes. Quit Xcode at the start of the iOS step so the manually-installed 'Punktfunk App Store Distribution' profile survives for manual signing; headless xcodebuild doesn't need the GUI app. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitea/workflows/release.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index b4d95ea..e9ddf26 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -155,8 +155,13 @@ jobs: # MANUAL App Store signing: the local (valid) Apple Distribution identity + the App # Store provisioning profile. NOT -allowProvisioningUpdates — with an App-Manager-role # ASC key that forces Xcode's CLOUD-managed signing, which the role can't do ("Cloud - # signing permission error"). The profile must be installed on the runner: Xcode -> - # Settings -> Accounts -> Download Manual Profiles. + # signing permission error"). The profile must be installed on the runner under + # ~/Library/Developer/Xcode/UserData/Provisioning Profiles/ (install it once with + # Xcode.app quit, or it prunes the manually-dropped distribution profile). + # A running Xcode.app prunes unrecognized profiles from that dir — quit it so the App + # Store profile survives this build; headless xcodebuild doesn't need the GUI app. + osascript -e 'tell application "Xcode" to quit' >/dev/null 2>&1 || true + pkill -x Xcode 2>/dev/null || true PROFILE="Punktfunk App Store Distribution" DEVELOPER_DIR="$XCODE_DEV_DIR" xcodebuild archive \ -project "$PROJECT" -scheme Punktfunk-iOS \