打包后的 macOS 应用无法启动,出现以下错误:
[PYI-29471:ERROR] Failed to execute script 'main' due to unhandled exception: [Errno 30] Read-only file system: 'logs'
日志系统试图在应用包内的当前目录创建 logs 目录,但 macOS 应用包内的目录是只读的,导致应用启动失败。
- 添加了
get_user_log_directory()函数,自动获取用户可写的日志目录 - 使用
~/Library/Application Support/白泽智译/logs作为日志目录 - 添加了错误处理,如果无法创建日志文件,则只使用控制台日志
- 更新了应用名称为"白泽智译"
- 将应用名称从"翻译工具"更新为"白泽智译"
- 确保配置文件保存在正确的用户目录
- 更新应用名称和版本号
- 修正了注释中的框架名称(PyQt6)
✅ 应用成功启动 ✅ 窗口正常显示 ✅ 用户交互正常 ✅ 应用正常关闭 ✅ 日志系统工作正常
- 应用程序:
dist/白泽智译.app - DMG 安装包:
VerbaFlow_v3.2.dmg - 用户配置:
~/Library/Application Support/白泽智译/config.json - 日志文件:
~/Library/Application Support/白泽智译/logs/
open dist/白泽智译.appopen VerbaFlow_v3.2.dmg然后将应用拖拽到应用程序文件夹。
./build_macos.sh- 路径问题: 从相对路径改为绝对用户目录路径
- 权限问题: 使用可写的用户目录而不是应用包内目录
- 错误处理: 添加了日志创建失败的降级处理
- 应用名称: 统一更新为"白泽智译"
- 配置文件:
~/Library/Application Support/白泽智译/ - 日志文件:
~/Library/Application Support/白泽智译/logs/ - 应用图标: 符合 Apple 设计规范的圆角矩形
- Bundle ID:
com.verbaflow.translator
- ✅ 自动图标生成(macOS 风格圆角)
- ✅ 一键打包脚本
- ✅ DMG 安装包生成
- ✅ 完整的文档系统
- ✅ GUI 界面正常显示
- ✅ 配置文件正确保存
- ✅ 日志系统正常工作
- ✅ 用户交互响应正常
应用现在完全可用!用户可以:
- 双击 DMG 文件安装应用
- 从应用程序文件夹启动
- 正常使用所有翻译功能
- 配置和日志会自动保存到用户目录
问题完全解决!🎉