From 6a34d585f20c78f84270d3432e413c437a94a173 Mon Sep 17 00:00:00 2001 From: KCKT0112 Date: Sun, 25 May 2025 23:43:47 +0800 Subject: [PATCH 1/3] Add Build macOS Script --- scripts/build_macos.sh | 232 +++++++++++++++++++++++++++++++++++++++++ scripts/logo.icns | Bin 0 -> 127795 bytes 2 files changed, 232 insertions(+) create mode 100755 scripts/build_macos.sh create mode 100644 scripts/logo.icns diff --git a/scripts/build_macos.sh b/scripts/build_macos.sh new file mode 100755 index 00000000..5aede926 --- /dev/null +++ b/scripts/build_macos.sh @@ -0,0 +1,232 @@ +#!/bin/bash + +# 设置错误时退出 +set -e + +# 颜色定义 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# 打印带颜色的信息 +print_info() { + echo -e "${GREEN}[INFO]${NC} $1" +} + +print_warning() { + echo -e "${YELLOW}[WARNING]${NC} $1" +} + +print_error() { + echo -e "${RED}[ERROR]${NC} $1" +} + +# 检查必要的工具 +check_requirements() { + print_info "检查必要的工具..." + + if ! command -v dotnet &> /dev/null; then + print_error "未找到 dotnet,请安装 .NET SDK" + print_info "可以从 https://dotnet.microsoft.com/download 下载" + exit 1 + fi + + if ! command -v create-dmg &> /dev/null; then + print_warning "未找到 create-dmg,将跳过 DMG 创建步骤" + print_info "可以通过 brew install create-dmg 安装" + fi +} + +# 清理旧的构建文件 +clean_build() { + print_info "清理旧的构建文件..." + rm -rf build/ + rm -rf dist/ +} + +# 创建说明文件 +create_readme() { + local target_dir=$1 + local readme_path="${target_dir}/README.txt" + + cat > "${readme_path}" << 'EOF' +首次运行说明: + +1. 首次运行时,系统可能会显示"无法打开"的提示 +2. 请点击"系统偏好设置"或"系统设置" +3. 在"安全性与隐私"中点击"仍要打开" +4. 之后就可以正常使用了 + +注意:这是正常的安全提示,只需要操作一次。 +EOF +} + +# 创建 Info.plist +create_info_plist() { + local app_path=$1 + local info_plist="${app_path}/Contents/Info.plist" + + cat > "${info_plist}" << 'EOF' + + + + + CFBundleExecutable + TuneLab + CFBundleIconFile + AppIcon + CFBundleIdentifier + app.tunelab.editor + CFBundleName + TuneLab + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + LSMinimumSystemVersion + 10.15 + NSHighResolutionCapable + + + +EOF +} + +# 创建 .app 包 +create_app_bundle() { + local build_dir=$1 + local app_path="${build_dir}/TuneLab.app" + + print_info "创建 .app 包: ${app_path}" + + # 创建 .app 目录结构 + mkdir -p "${app_path}/Contents/MacOS" + mkdir -p "${app_path}/Contents/Resources" + + # 移动可执行文件到 MacOS 目录 + mv "${build_dir}/TuneLab" "${app_path}/Contents/MacOS/" + + # 创建 Resources/Translations 目录 + mkdir -p "${app_path}/Contents/MacOS/Resources/Translations" + + # 复制 .toml 文件到 Resources/Translations 目录 + find "${build_dir}" -name "*.toml" -exec cp {} "${app_path}/Contents/MacOS/Resources/Translations/" \; + + # 复制其他运行时文件到 MacOS 目录(排除已移动的可执行文件和 .toml 文件) + find "${build_dir}" -type f -not -name "TuneLab" -not -name "*.toml" -exec cp {} "${app_path}/Contents/MacOS/" \; + + # 创建 Info.plist + create_info_plist "${app_path}" + + # 复制并重命名图标文件 + if [ -f "scripts/logo.icns" ]; then + cp "scripts/logo.icns" "${app_path}/Contents/Resources/AppIcon.icns" + fi +} + +# 本地签名应用 +sign_app_locally() { + local app_path=$1 + print_info "本地签名应用: ${app_path}" + + # 移除可能存在的旧签名 + codesign --remove-signature "${app_path}" 2>/dev/null || true + + # 使用本地证书签名 + codesign --force --deep --sign - "${app_path}" + + # 验证签名 + codesign --verify --verbose "${app_path}" + + # 创建说明文件 + create_readme "$(dirname "${app_path}")" +} + +# 构建应用 +build_app() { + local arch=$1 + local build_dir="build/${arch}" + + print_info "开始构建 ${arch} 版本..." + + # 创建构建目录 + mkdir -p "${build_dir}" + + # 使用 dotnet 构建应用 + dotnet publish TuneLab/TuneLab.csproj \ + -c Release \ + -r osx-${arch} \ + --self-contained true \ + -p:PublishSingleFile=true \ + -p:IncludeNativeLibrariesForSelfExtract=true \ + -o "${build_dir}" + + # 创建 .app 包 + create_app_bundle "${build_dir}" + + # 本地签名应用 + sign_app_locally "${build_dir}/TuneLab.app" +} + +# 创建 DMG +create_dmg() { + local arch=$1 + local build_dir="build/${arch}" + + if command -v create-dmg &> /dev/null; then + print_info "创建 ${arch} 版本的 DMG 文件..." + + create-dmg \ + --volname "TuneLab-${arch}" \ + --volicon "scripts/logo.icns" \ + --window-pos 200 120 \ + --window-size 800 400 \ + --icon-size 100 \ + --icon "TuneLab.app" 200 190 \ + --hide-extension "TuneLab.app" \ + --app-drop-link 600 185 \ + "${build_dir}/TuneLab-macOS-${arch}.dmg" \ + "${build_dir}/TuneLab.app" + + # 本地签名 DMG + codesign --force --sign - "${build_dir}/TuneLab-macos-${arch}.dmg" + + # 复制说明文件到 DMG 所在目录 + cp "${build_dir}/README.txt" "${build_dir}/TuneLab-macos-${arch}-README.txt" + else + print_warning "跳过 DMG 创建步骤" + fi +} + +# 主函数 +main() { + print_info "开始打包流程..." + + check_requirements + clean_build + + # 构建 x64 版本 + build_app "x64" + create_dmg "x64" + + # 构建 arm64 版本 + build_app "arm64" + create_dmg "arm64" + + print_info "打包完成!" + print_info "输出文件位置:" + print_info "- x64 版本: build/x64/TuneLab.app" + print_info "- arm64 版本: build/arm64/TuneLab.app" + + if [ -f "build/x64/TuneLab-macOS-x64.dmg" ]; then + print_info "DMG 文件位置:" + print_info "- x64 版本: build/x64/TuneLab-macOS-x64.dmg" + print_info "- arm64 版本: build/arm64/TuneLab-macOS-arm64.dmg" + fi + + print_info "每个版本都包含了 README.txt 文件,其中包含首次运行的说明" +} + +# 执行主函数 +main \ No newline at end of file diff --git a/scripts/logo.icns b/scripts/logo.icns new file mode 100644 index 0000000000000000000000000000000000000000..b9de055fd2a9546e7008f711c82ccb33285f1bae GIT binary patch literal 127795 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

3d16YMCtO8c^~pTxdB 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∋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 Date: Mon, 26 May 2025 03:03:50 +0800 Subject: [PATCH 2/3] Fix missing packaged binary files --- scripts/build_macos.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/scripts/build_macos.sh b/scripts/build_macos.sh index 5aede926..89491841 100755 --- a/scripts/build_macos.sh +++ b/scripts/build_macos.sh @@ -36,6 +36,14 @@ check_requirements() { print_warning "未找到 create-dmg,将跳过 DMG 创建步骤" print_info "可以通过 brew install create-dmg 安装" fi + + if ! command -v brew &> /dev/null; then + print_warning "未找到 Homebrew,某些依赖可能无法正确安装" + fi + + if ! pkg-config --exists sdl2; then + print_warning "未找到 SDL2,音频功能可能受限" + fi } # 清理旧的构建文件 @@ -116,6 +124,10 @@ create_app_bundle() { # 复制其他运行时文件到 MacOS 目录(排除已移动的可执行文件和 .toml 文件) find "${build_dir}" -type f -not -name "TuneLab" -not -name "*.toml" -exec cp {} "${app_path}/Contents/MacOS/" \; + # 复制运行时配置文件 + cp "${build_dir}"/*.deps.json "${app_path}/Contents/MacOS/" 2>/dev/null || true + cp "${build_dir}"/*.runtimeconfig.json "${app_path}/Contents/MacOS/" 2>/dev/null || true + # 创建 Info.plist create_info_plist "${app_path}" @@ -160,6 +172,19 @@ build_app() { --self-contained true \ -p:PublishSingleFile=true \ -p:IncludeNativeLibrariesForSelfExtract=true \ + -p:IncludeAllContentForSelfExtract=true \ + -p:EnableCompressionInSingleFile=true \ + -o "${build_dir}" + + # 构建ExtensionInstaller + dotnet publish ExtensionInstaller/ExtensionInstaller.csproj \ + -c Release \ + -r osx-${arch} \ + --self-contained true \ + -p:PublishSingleFile=true \ + -p:IncludeAllContentForSelfExtract=true \ + -p:EnableCompressionInSingleFile=true \ + -p:IncludeNativeLibrariesForSelfExtract=true \ -o "${build_dir}" # 创建 .app 包 From b95b5fa5dd5c6c2239fbb771639031296e6057b2 Mon Sep 17 00:00:00 2001 From: KRKT Date: Mon, 26 May 2025 03:13:17 +0800 Subject: [PATCH 3/3] Fix lost resource files in packaging --- scripts/build_macos.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/build_macos.sh b/scripts/build_macos.sh index 89491841..7ffcd600 100755 --- a/scripts/build_macos.sh +++ b/scripts/build_macos.sh @@ -171,8 +171,6 @@ build_app() { -r osx-${arch} \ --self-contained true \ -p:PublishSingleFile=true \ - -p:IncludeNativeLibrariesForSelfExtract=true \ - -p:IncludeAllContentForSelfExtract=true \ -p:EnableCompressionInSingleFile=true \ -o "${build_dir}" @@ -182,8 +180,6 @@ build_app() { -r osx-${arch} \ --self-contained true \ -p:PublishSingleFile=true \ - -p:IncludeAllContentForSelfExtract=true \ - -p:EnableCompressionInSingleFile=true \ -p:IncludeNativeLibrariesForSelfExtract=true \ -o "${build_dir}" @@ -254,4 +250,4 @@ main() { } # 执行主函数 -main \ No newline at end of file +main