Files
PowerBar/build_and_package.sh
leo12025 57d605674e feat: 升级版本至1.0.1并添加外部显示器支持
- 更新版本号至1.0.1
- 添加外部显示器检测功能
- 更新README文档说明新特性
- 移除临时Applications链接
2025-12-27 22:46:41 +08:00

84 lines
2.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# PowerBar 打包脚本
# 用于构建应用程序并创建DMG安装包
# 设置变量
PROJECT_NAME="PowerBar"
SCHEME="PowerBar"
CONFIGURATION="Release"
VERSION="1.0.1"
echo "=== PowerBar 打包脚本 v$VERSION ==="
# 1. 清理之前的构建产物和缓存
echo "\n1. 清理之前的构建产物和缓存..."
rm -rf "$PROJECT_NAME.app"
rm -rf "$PROJECT_NAME-$VERSION.dmg"
rm -rf "build"
rm -rf "~/Library/Developer/Xcode/DerivedData/$PROJECT_NAME-*"
rm -rf "$PROJECT_NAME.xcodeproj/xcuserdata"
rm -rf "$PROJECT_NAME.xcodeproj/project.xcworkspace/xcuserdata"
# 2. 执行Xcode清理
echo "\n2. 执行Xcode清理..."
xcodebuild -scheme "$SCHEME" -configuration "$CONFIGURATION" clean
# 3. 直接构建应用程序
echo "\n3. 构建应用程序..."
xcodebuild -scheme "$SCHEME" -configuration "$CONFIGURATION" -derivedDataPath "build" build
if [ $? -ne 0 ]; then
echo "构建失败!"
exit 1
fi
# 4. 复制应用程序到当前目录
echo "\n4. 复制应用程序到当前目录..."
cp -R "build/Build/Products/$CONFIGURATION/$PROJECT_NAME.app" .
# 5. 验证应用程序
echo "\n5. 验证应用程序..."
if [ -d "$PROJECT_NAME.app" ]; then
echo "应用程序构建成功:$PROJECT_NAME.app"
else
echo "应用程序构建失败!"
exit 1
fi
# 6. 创建DMG安装包
echo "\n6. 创建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"
# 7. 清理临时文件
echo "\n7. 清理临时文件..."
rm -rf "$temp_dmg_dir"
rm -rf "build"
# 8. 验证DMG
echo "\n8. 验证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"