From 1c48d58789a2b2617f48c673d87b7b38ac71e26b Mon Sep 17 00:00:00 2001 From: richblack Date: Mon, 27 Jul 2026 19:31:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(t72/t63):=20build-mac.sh=20=E5=8A=A0=20-s?= =?UTF-8?q?=20-w=E2=80=94=E2=80=94Mac=20=E7=89=88=E6=8E=89=E9=80=B2=20jsDe?= =?UTF-8?q?livr=2020MB=20=E5=85=A7=EF=BC=8C=E5=85=8D=E6=8B=86=E6=AA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 真兇:fyne package 內部自己 go build,吃不到 -ldflags,產出含符號表+DWARF 的胖執行檔。 解:②b 用 -s -w 重編托盤覆蓋回 bundle;collector 也一併 strip。 實測(從乾淨狀態重跑 build-mac.sh): 托盤 28.6MB → 21.1MB 整包zip 21.1MB → 12.43MB ← 遠低於 jsDelivr 20MB 上限 功能指紋 結束 Arcrun RAG=1 / 連上知識庫=1(未掉功能) codesign -v 通過 影響:此前 Mac 版超 20MB,jsDelivr 直接回 File size exceeded,只能走 raw; 現在可走 CDN,且**免除原本要拆檔(tray/collector 分開)的工程**。 Windows 版 13MB 本來就在限內,不受影響。 未驗:真機執行行為(托盤 icon/選資料夾)——strip 不影響邏輯但仍需真機確認。 --- cmd/arcrun-tray/build-mac.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cmd/arcrun-tray/build-mac.sh b/cmd/arcrun-tray/build-mac.sh index 0fffc92..a059cd2 100755 --- a/cmd/arcrun-tray/build-mac.sh +++ b/cmd/arcrun-tray/build-mac.sh @@ -11,11 +11,21 @@ set -euo pipefail cd "$(dirname "$0")" echo "① 編 collector(同綑執行檔)" -( cd ../.. && go build -o "cmd/arcrun-tray/arcrun-collector" . ) +( cd ../.. && go build -ldflags "-s -w" -o "cmd/arcrun-tray/arcrun-collector" . ) echo "② fyne package" go run fyne.io/fyne/v2/cmd/fyne@latest package -os darwin -icon icon.png -name "Arcrun RAG" -appID dev.arcrun.rag.tray +# ②b 用 -s -w 重編托盤覆蓋回 bundle(2026-07-27,t72/t63)。 +# 為什麼:`fyne package` 內部自己 go build,吃不到 -ldflags,產出含符號表與 DWARF 的胖執行檔。 +# 實測(本機):托盤 28.6MB → 21.3MB,**整包 zip 21.1MB → 14.65MB** +# =**掉進 jsDelivr 單檔 20MB 上限內**(此前 Mac 版超標,jsDelivr 直接回 +# "File size exceeded the configured limit of 20 MB.",只能走 raw;Windows 版 13MB 無此問題)。 +# ⇒ 這一步讓 Mac 版也能走 CDN,且**免除拆檔工程**。功能指紋與簽章實測皆不受影響。 +echo "②b strip 重編托盤(-s -w;為了掉進 jsDelivr 20MB 線內)" +go build -ldflags "-s -w" -o "$(ls -d *.app 2>/dev/null | head -1)/Contents/MacOS/arcrun-tray" . 2>/dev/null \ + || go build -ldflags "-s -w" -o "Arcrun RAG.app/Contents/MacOS/arcrun-tray" . + APP="Arcrun RAG.app" PLIST="$APP/Contents/Info.plist"