? 前提條件
-
? 你已經在 macOS 上安裝了 Android Studio + Flutter SDK。
-
? Flutter 支持 macOS 構建。
-
運行下面命令確認是否支持:
```Plain Text bash 復制編輯 flutter doctor
---## 🧱 第一步:啟用 macOS 支持如果是新項目,執行以下命令添加 macOS 支持:
Plain Text bash 復制編輯 flutter create .
或者,確保 `macos/` 目錄已經存在。---## 🛠 第二步:設置 macOS 工程(可選)你可以修改 `macos/Runner.xcworkspace` 下的設置,比如:- 圖標:`macos/Runner/Assets.xcassets/AppIcon.appiconset/`- 應用名稱等:`macos/Runner/Info.plist`---## 🏗 第三步:構建 macOS 程序### ? Release 模式構建
Plain Text bash 復制編輯 flutter build macos
構建成功后,會生成一個可運行的 `.app` 包:📁 路徑:
Plain Text swift 復制編輯 build/macos/Build/Products/Release/YourApp.app ```
你可以直接雙擊運行,或右鍵 -> 顯示包內容,查看內部結構。
創建create_dmg.sh腳本

腳本完整內容如下
?
#!/bin/bash# 1.打包 flutter build macos
# 2.授予權限 chmod +x create_dmg.sh# 定義源目錄
SOURCE_DIR="./build/macos/Build/Products/Release/"# 查找第一個 .app 文件
SOURCE_APP_PATH=$(find "$SOURCE_DIR" -maxdepth 1 -type d -name "*.app" | head -n 1)# 檢查是否找到了 .app 文件
if [ -z "$SOURCE_APP_PATH" ]; thenecho "No .app file found in $SOURCE_DIR"exit 1
fi# 設置輸出 DMG 路徑
OUTPUT_DMG_PATH="$SOURCE_DIR"$(basename "$SOURCE_APP_PATH" .app).dmg# 創建 DMG 文件
echo "Creating DMG from $SOURCE_APP_PATH to $OUTPUT_DMG_PATH..."# hdiutil打包詳細參數如下
# `-volname`: 安裝時掛載的名字(一般和 app 一樣)
#`-srcfolder`: 你的 `.app` 路徑
#`-format UDZO`: 壓縮格式(推薦使用)
# `-ov`: 允許覆蓋已有文件
# 輸出路徑是 `.dmg` 文件最終保存的位置
hdiutil create -volname "$(basename "$SOURCE_APP_PATH")" \-srcfolder "$SOURCE_APP_PATH" \-ov -format UDZO "$OUTPUT_DMG_PATH"echo "DMG created successfully at $OUTPUT_DMG_PATH"
注意給腳本程序增加權限
chmod +x create_dmg.sh