From 2c804d4ebf9eb28b69322ede56f89bd14a57c460 Mon Sep 17 00:00:00 2001 From: wangjia <809946525@qq.com> Date: Thu, 2 Jul 2026 11:11:05 +0800 Subject: [PATCH] =?UTF-8?q?fix(scripts):=20local=5Ftest.sh=20=E5=AF=B9?= =?UTF-8?q?=E9=BD=90=E5=BD=93=E5=89=8D=20macOS=20=E6=9E=B6=E6=9E=84(sysext?= =?UTF-8?q?=20=E6=A0=87=E8=AF=86=E7=AC=A6=E5=90=8D=20+=20=E9=9D=99?= =?UTF-8?q?=E6=80=81=20libbox)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 发版脚本停留在旧「嵌入 Libbox.framework」架构,与现工程漂移两处、导致 sign 失败: - sysext bundle 名 = 标识符 com.pangolin.pangolin.PacketTunnel.systemextension (PRODUCT_NAME,见 CLAUDE.md),非短名 PacketTunnel.systemextension。 - libbox 现「只 Link 不 Embed」静态进 sysext 二进制,sysext 内已无独立 Libbox.framework;删掉对不存在 framework 的签名,签 sysext bundle 即覆盖。 Co-Authored-By: Claude Opus 4.8 --- scripts/local_test.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/local_test.sh b/scripts/local_test.sh index 6f3f079..78e3d2e 100755 --- a/scripts/local_test.sh +++ b/scripts/local_test.sh @@ -35,7 +35,9 @@ DIR="${SRC%/*}"; [ "$DIR" = "$SRC" ] && DIR="." cd "$DIR/.."; REPO_ROOT="$PWD" CLIENT="$REPO_ROOT/client" APP="$CLIENT/build/macos/Build/Products/Release/pangolin_vpn.app" -SE="$APP/Contents/Library/SystemExtensions/PacketTunnel.systemextension" +# sysext bundle 名 = 标识符(PRODUCT_NAME=com.pangolin.pangolin.PacketTunnel,见 CLAUDE.md), +# 不是短名 PacketTunnel.systemextension。 +SE="$APP/Contents/Library/SystemExtensions/com.pangolin.pangolin.PacketTunnel.systemextension" LIBFW="$SE/Contents/Frameworks/Libbox.framework" PROF_DIR="$HOME/Library/Developer/Xcode/UserData/Provisioning Profiles" WORK="${TMPDIR:-/tmp}/pangolin_local_test"; mkdir -p "$WORK" @@ -112,9 +114,9 @@ cmd_sign(){ cp "$app_prof" "$APP/Contents/embedded.provisionprofile" cp "$se_prof" "$SE/Contents/embedded.provisionprofile" - # 内向外:Libbox 真二进制 → Libbox.framework → sysext → app 各 framework → app 主体 - cs -s "$SIGN_ID" "$LIBFW/Versions/A/Libbox" - cs -s "$SIGN_ID" "$LIBFW" + # 内向外:sysext → app 各 framework → app 主体。 + # libbox 现为「只 Link 不 Embed」静态进 sysext 二进制(见 CLAUDE.md),sysext 内已无 + # 独立 Libbox.framework;签 sysext bundle 即覆盖其静态链接的 libbox,无需单独签 framework。 cs --entitlements "$WORK/sysext.entitlements" -s "$SIGN_ID" "$SE" local item for item in "$APP/Contents/Frameworks/"*; do