fix(ci/macos): 构建后从 WORK 目录 embed 描述文件(xcodebuild 会清 PROF_DIR)
Deploy Client / build-android (push) Successful in 1m39s
Deploy Client / build-windows (push) Successful in 1m53s
Deploy Client / build-macos (push) Successful in 3m43s
Deploy Client / build-ios (push) Successful in 3m5s
Deploy Client / release-deploy (push) Successful in 2m7s

build-macos 失败:flutter build macos 期间 xcodebuild 修剪
~/Library/Developer/Xcode/UserData/Provisioning Profiles,把构建前装进去的
Developer ID 描述文件删掉,构建后 inside-out 重签时从该目录 cp 扑空
(cp: <uuid>.provisionprofile: No such file → exit 1)。改为从 mktemp 的 WORK
目录复制原始 .provisionprofile(xcodebuild 不碰),幂等可靠。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013nMthbVEmQquxBRKb9Fj8u
This commit is contained in:
wangjia
2026-07-07 11:27:50 +08:00
parent 48e7efe92a
commit 6ce67176da
+6 -2
View File
@@ -223,8 +223,12 @@ PLIST
echo "==> compile-macos: inside-out codesign (sysext -> frameworks -> app)"
xattr -cr "$APP"
cp "$SYSEXT_PROFILE" "${SE}/Contents/embedded.provisionprofile"
cp "$APP_PROFILE" "${APP}/Contents/embedded.provisionprofile"
# 从 WORK 临时目录复制(不是 PROF_DIR):flutter build macos 期间 xcodebuild 会
# 修剪 ~/Library/Developer/Xcode/UserData/Provisioning Profiles,把[3/7]构建前
# 装进去的 profile 清掉,构建后再从那目录 cp 会扑空(No such file → 本步失败)。
# WORK 是 mktemp 目录、xcodebuild 不碰,里面的原始 .provisionprofile 全程留存。
cp "${WORK}/sysext.provisionprofile" "${SE}/Contents/embedded.provisionprofile"
cp "${WORK}/app.provisionprofile" "${APP}/Contents/embedded.provisionprofile"
# sysext first — libbox is linked (not embedded) into the sysext binary
# itself (see CLAUDE.md), so signing the sysext bundle re-covers its statically