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"