|
|
#!/bin/bash
|
|
|
# MagicWord macOS快速打包脚本
|
|
|
|
|
|
echo "=== MagicWord macOS打包脚本 ==="
|
|
|
echo "开始打包进程..."
|
|
|
|
|
|
# 检查Python版本
|
|
|
python_version=$(python3 --version 2>/dev/null || python --version)
|
|
|
echo "Python版本: $python_version"
|
|
|
|
|
|
# 安装依赖
|
|
|
echo "安装依赖..."
|
|
|
pip3 install -r requirements.txt
|
|
|
pip3 install pyinstaller
|
|
|
|
|
|
# 清理旧的构建文件
|
|
|
echo "清理旧的构建文件..."
|
|
|
rm -rf build dist __pycache__ *.spec
|
|
|
find src -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
|
|
|
|
|
|
# 构建应用
|
|
|
echo "构建macOS应用..."
|
|
|
python3 -m pyinstaller \\
|
|
|
--name "MagicWord" \\
|
|
|
--distpath "dist" \\
|
|
|
--workpath "build" \\
|
|
|
--add-data "resources:resources" \\
|
|
|
--hidden-import "PyQt5" \\
|
|
|
--hidden-import "PyQt5.QtCore" \\
|
|
|
--hidden-import "PyQt5.QtGui" \\
|
|
|
--hidden-import "PyQt5.QtWidgets" \\
|
|
|
--hidden-import "requests" \\
|
|
|
--hidden-import "beautifulsoup4" \\
|
|
|
--hidden-import "python-docx" \\
|
|
|
--hidden-import "PyPDF2" \\
|
|
|
--hidden-import "ebooklib" \\
|
|
|
--hidden-import "chardet" \\
|
|
|
--hidden-import "PIL" \\
|
|
|
--windowed \\
|
|
|
--osx-bundle-identifier "com.magicword.app" \\
|
|
|
--target-architecture arm64 \\
|
|
|
--noconfirm \\
|
|
|
src/main.py
|
|
|
|
|
|
# 检查构建结果
|
|
|
if [ -d "dist/MagicWord.app" ]; then
|
|
|
echo "✅ 构建成功!"
|
|
|
echo "应用位置: dist/MagicWord.app"
|
|
|
echo ""
|
|
|
echo "安装步骤:"
|
|
|
echo "1. 将 MagicWord.app 拖拽到 Applications 文件夹"
|
|
|
echo "2. 首次运行时,右键点击应用选择'打开'"
|
|
|
echo "3. 或者在 系统设置 > 隐私与安全性 中允许应用运行"
|
|
|
else
|
|
|
echo "❌ 构建失败!"
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
# 可选:创建DMG
|
|
|
read -p "是否创建DMG安装包?(y/n): " create_dmg
|
|
|
if [[ $create_dmg =~ ^[Yy]$ ]]; then
|
|
|
echo "创建DMG安装包..."
|
|
|
|
|
|
# 创建发布目录
|
|
|
release_dir="macos_release"
|
|
|
rm -rf "$release_dir"
|
|
|
mkdir -p "$release_dir"
|
|
|
|
|
|
# 复制应用
|
|
|
cp -r "dist/MagicWord.app" "$release_dir/"
|
|
|
|
|
|
# 创建Applications链接
|
|
|
ln -s "/Applications" "$release_dir/Applications"
|
|
|
|
|
|
# 创建README
|
|
|
cat > "$release_dir/README.txt" << 'EOF'
|
|
|
MagicWord for macOS
|
|
|
|
|
|
安装说明:
|
|
|
1. 将 MagicWord.app 拖拽到 Applications 文件夹
|
|
|
2. 首次运行时,右键点击应用选择"打开"
|
|
|
3. 或者在 系统设置 > 隐私与安全性 中允许应用运行
|
|
|
|
|
|
系统要求:
|
|
|
- macOS Big Sur (11.0) 或更高版本
|
|
|
- Apple Silicon (M1/M2/M3) 推荐
|
|
|
|
|
|
功能特性:
|
|
|
- 隐私学习:通过打字练习来学习文档内容
|
|
|
- 支持多种文档格式:TXT, DOCX, PDF
|
|
|
- 智能打字模式
|
|
|
- 美观的Word风格界面
|
|
|
EOF
|
|
|
|
|
|
# 创建DMG
|
|
|
dmg_name="MagicWord-0.3.0-macOS-arm64.dmg"
|
|
|
hdiutil create -volname "MagicWord" -srcfolder "$release_dir" -ov -format UDZO "$dmg_name"
|
|
|
|
|
|
if [ -f "$dmg_name" ]; then
|
|
|
echo "✅ DMG创建成功: $dmg_name"
|
|
|
else
|
|
|
echo "⚠️ DMG创建失败,但应用包已准备就绪"
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
echo "=== 打包完成 ===" |