feat: 添加打包脚本并优化指引窗口管理

添加 build_and_package.sh 脚本用于自动化构建和打包
在 MenuContent 中增加对指引窗口的引用管理,避免重复创建
更新 .gitignore 忽略构建产物
添加 ExportOptions.plist 文件用于构建配置
This commit is contained in:
2025-12-27 19:43:00 +08:00
parent 37d73db4e5
commit 693e4966d4
4 changed files with 119 additions and 1 deletions

75
build_and_package.sh Executable file
View File

@@ -0,0 +1,75 @@
#!/bin/bash
# PowerBar 打包脚本
# 用于构建应用程序并创建DMG安装包
# 设置变量
PROJECT_NAME="PowerBar"
SCHEME="PowerBar"
CONFIGURATION="Release"
VERSION="1.0.0"
echo "=== PowerBar 打包脚本 v$VERSION ==="
# 1. 清理之前的构建产物
echo "\n1. 清理之前的构建产物..."
rm -rf "$PROJECT_NAME.app"
rm -rf "$PROJECT_NAME-$VERSION.dmg"
# 2. 直接构建应用程序
echo "\n2. 构建应用程序..."
xcodebuild -scheme "$SCHEME" -configuration "$CONFIGURATION" -derivedDataPath "build" build
if [ $? -ne 0 ]; then
echo "构建失败!"
exit 1
fi
# 3. 复制应用程序到当前目录
echo "\n3. 复制应用程序到当前目录..."
cp -R "build/Build/Products/$CONFIGURATION/$PROJECT_NAME.app" .
# 4. 验证应用程序
echo "\n4. 验证应用程序..."
if [ -d "$PROJECT_NAME.app" ]; then
echo "应用程序构建成功:$PROJECT_NAME.app"
else
echo "应用程序构建失败!"
exit 1
fi
# 5. 创建DMG安装包
echo "\n5. 创建DMG安装包..."
# 创建临时目录用于构建DMG
temp_dmg_dir="temp_dmg"
rm -rf "$temp_dmg_dir"
mkdir -p "$temp_dmg_dir"
# 复制应用程序到临时目录
cp -R "$PROJECT_NAME.app" "$temp_dmg_dir/"
# 创建Applications快捷方式
ln -s /Applications "$temp_dmg_dir/Applications"
# 创建DMG
hdiutil create -volname "$PROJECT_NAME-$VERSION" -srcfolder "$temp_dmg_dir" -ov -format UDZO "$PROJECT_NAME-$VERSION.dmg"
# 6. 清理临时文件
echo "\n6. 清理临时文件..."
rm -rf "$temp_dmg_dir"
rm -rf "build"
# 7. 验证DMG
echo "\n7. 验证DMG..."
if [ -f "$PROJECT_NAME-$VERSION.dmg" ]; then
echo "DMG创建成功$PROJECT_NAME-$VERSION.dmg"
echo "文件大小:$(du -h "$PROJECT_NAME-$VERSION.dmg" | cut -f1)"
else
echo "DMG创建失败"
exit 1
fi
echo "\n=== 打包完成! ==="
echo "应用程序:$PROJECT_NAME.app"
echo "安装包:$PROJECT_NAME-$VERSION.dmg"