@@ -77,20 +77,27 @@ jobs:
7777 echo "Using Homebrew at: $BREW_PREFIX"
7878
7979 # 安装系统依赖
80- brew install qt6
80+ brew install qt@6
8181 brew install create-dmg
8282
83+ # 获取 Qt 实际安装路径
84+ QT_PATH=$(brew --prefix qt)
85+ echo "Qt installed at: $QT_PATH"
86+
8387 # 设置 Qt 环境变量
8488 echo "PYTHONPATH=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
85- echo "QT_PLUGIN_PATH=$BREW_PREFIX/opt/qt6/plugins" >> $GITHUB_ENV
86- echo "QT_QPA_PLATFORM_PATH=$BREW_PREFIX/opt/qt6/plugins/platforms" >> $GITHUB_ENV
87- echo "QT_LIBRARY_PATH=$BREW_PREFIX/opt/qt6/lib" >> $GITHUB_ENV
89+ echo "QT_PLUGIN_PATH=$QT_PATH/share/qt/plugins" >> $GITHUB_ENV
90+ echo "QT_QPA_PLATFORM_PATH=$QT_PATH/share/qt/plugins/platforms" >> $GITHUB_ENV
91+ echo "QT_LIBRARY_PATH=$QT_PATH/lib" >> $GITHUB_ENV
92+ echo "QT_TRANSLATIONS_PATH=$QT_PATH/share/qt/translations" >> $GITHUB_ENV
8893 echo "QT_DEBUG_PLUGINS=1" >> $GITHUB_ENV
8994
9095 # 显示 Qt 安装信息
91- brew list qt6 --verbose
92- ls -la $BREW_PREFIX/opt/qt6/plugins
93- ls -la $BREW_PREFIX/opt/qt6/plugins/platforms
96+ brew list qt --verbose
97+ echo "Checking Qt directories:"
98+ ls -la "$QT_PATH/share/qt/plugins" || true
99+ ls -la "$QT_PATH/share/qt/plugins/platforms" || true
100+ ls -la "$QT_PATH/lib" || true
94101
95102 echo "Installed packages:"
96103 pip list
@@ -120,18 +127,22 @@ jobs:
120127 - name : Build (macOS ARM)
121128 if : runner.os == 'macOS'
122129 run : |
130+ # 获取 Qt 路径
131+ QT_PATH=$(brew --prefix qt)
132+
123133 # 添加 Qt 相关配置到 spec 文件
124134 echo "import os" > Text2Voice.spec
125- echo "qt_plugin_path = '/opt/homebrew/opt/qt6 /plugins'" >> Text2Voice.spec
126- echo "qt_lib_path = '/opt/homebrew/opt/qt6 /lib'" >> Text2Voice.spec
135+ echo "qt_plugin_path = '$QT_PATH/share/qt /plugins'" >> Text2Voice.spec
136+ echo "qt_lib_path = '$QT_PATH /lib'" >> Text2Voice.spec
127137
128138 pyinstaller --noconsole \
129139 --add-data ".env:." \
130140 --add-data "assets:assets" \
131141 --add-data "resources:resources" \
132142 --add-data "ui/styles:ui/styles" \
133- --add-binary "/opt/homebrew/opt/qt6/plugins/platforms/libqcocoa.dylib:PyQt6/Qt6/plugins/platforms/" \
134- --add-binary "/opt/homebrew/opt/qt6/plugins/styles/libqmacstyle.dylib:PyQt6/Qt6/plugins/styles/" \
143+ --add-binary "$QT_PATH/share/qt/plugins/platforms/libqcocoa.dylib:PyQt6/Qt6/plugins/platforms/" \
144+ --add-binary "$QT_PATH/share/qt/plugins/styles/libqmacstyle.dylib:PyQt6/Qt6/plugins/styles/" \
145+ --add-data "$QT_PATH/share/qt/translations:PyQt6/Qt6/translations" \
135146 --name "Text2Voice-ARM" \
136147 --hidden-import PyQt6.QtCore \
137148 --hidden-import PyQt6.QtGui \
@@ -143,25 +154,32 @@ jobs:
143154 main.py
144155
145156 # 验证构建结果
157+ echo "Checking build artifacts:"
146158 otool -L "dist/Text2Voice-ARM.app/Contents/MacOS/Text2Voice-ARM"
147- ls -R "dist/Text2Voice-ARM.app/Contents/Frameworks/"
148- ls -R "dist/Text2Voice-ARM.app/Contents/PlugIns/"
159+ ls -R "dist/Text2Voice-ARM.app/Contents/Frameworks/" || true
160+ ls -R "dist/Text2Voice-ARM.app/Contents/PlugIns/" || true
149161
150162 # 创建 DMG (macOS ARM)
151163 - name : Create DMG (macOS ARM)
152164 if : runner.os == 'macOS'
153165 run : |
166+ QT_PATH=$(brew --prefix qt)
167+
154168 # 确保应用程序可执行
155169 chmod +x "dist/Text2Voice-ARM.app/Contents/MacOS/Text2Voice-ARM"
156170
157171 # 复制额外的 Qt 插件
158172 mkdir -p "dist/Text2Voice-ARM.app/Contents/PlugIns/platforms"
159173 mkdir -p "dist/Text2Voice-ARM.app/Contents/PlugIns/styles"
160- cp -f "/opt/homebrew/opt/qt6/plugins/platforms/libqcocoa.dylib" "dist/Text2Voice-ARM.app/Contents/PlugIns/platforms/"
161- cp -f "/opt/homebrew/opt/qt6/plugins/styles/libqmacstyle.dylib" "dist/Text2Voice-ARM.app/Contents/PlugIns/styles/"
174+ cp -f "$QT_PATH/share/qt/plugins/platforms/libqcocoa.dylib" "dist/Text2Voice-ARM.app/Contents/PlugIns/platforms/" || true
175+ cp -f "$QT_PATH/share/qt/plugins/styles/libqmacstyle.dylib" "dist/Text2Voice-ARM.app/Contents/PlugIns/styles/" || true
176+
177+ # 复制翻译文件
178+ mkdir -p "dist/Text2Voice-ARM.app/Contents/translations"
179+ cp -f "$QT_PATH/share/qt/translations/"*.qm "dist/Text2Voice-ARM.app/Contents/translations/" || true
162180
163181 # 使用 macdeployqt 处理 Qt 依赖
164- /opt/homebrew/opt/qt6/ bin/macdeployqt "dist/Text2Voice-ARM.app" -verbose=3
182+ "$QT_PATH/ bin/macdeployqt" "dist/Text2Voice-ARM.app" -verbose=3 || true
165183
166184 create-dmg \
167185 --volname "Text2Voice" \
0 commit comments