Когда вы создаете свой проект, создается так называемый «пакет приложений». Это каталог с расширением .app
. Вот что на самом деле представляют приложения MacOS; каталоги с расширением ".app". По умолчанию искатель macOS не показывает расширение «.app». Например, приложение Safari просто отображается как «Safari», а не как «Safari.app».
Если ваш проект называется «MyApp», пакет приложений будет иметь имя «MyApp.app». Чтобы это можно было использовать на других машинах, вам нужно использовать инструмент «macdeployqt». Это скопирует все необходимые библиотеки Qt в комплект приложения. Вы используете macdeployqt из терминала.
Откройте терминал и cd
в каталог сборки вашего проекта. Там вы найдете комплект приложений вашего приложения (MyApp.app в этом примере.) Запустите macdeployqt следующим образом:
~/Qt/5.14.1/clang/bin/macdeployqt MyApp.app
Не забудьте использовать инструмент macdeployqt, который поставляется с версией Qt, которую вы создали. ваш проект с. В этом случае 5.14.1. Предполагается, что вы установили Qt в папку по умолчанию, которая является папкой «Qt» в вашем домашнем каталоге.
Теперь приложение должно быть готово для запуска в любой системе MacOS. Чтобы облегчить его распространение, вы можете сделать из него zip-архив с помощью утилиты "ditto". Этот инструмент является частью macOS:
ditto -v -c -k --sequesterRsrc --keepParent --zlibCompressionLevel 9 MyApp.app MyApp.zip
Это создаст MyApp.zip, который вы затем сможете распространять.
Делать это вручную каждый раз, однако, это немного раздражает. Что я делаю, так это создаю собственную цель make в моем файле проекта, которая делает это для меня. Это предполагает, что вы используете qmake для своего проекта. Добавьте это к вашему .pro-файлу:
macx {
macdist.target = macdist
macdist.commands = \
rm -rf "$${TARGET}.app" \
&& rm -f "$${TARGET}.zip" \
&& "$$QMAKE_QMAKE" -config release "$$_PRO_FILE_" \
&& make clean \
&& make -j$$QMAKE_HOST.cpu_count \
&& "$$dirname(QMAKE_QMAKE)/macdeployqt" "$${TARGET}.app" \
&& ditto -v -c -k --sequesterRsrc --keepParent --zlibCompressionLevel 9 "$${TARGET}.app" "$${TARGET}.zip"
QMAKE_EXTRA_TARGETS += macdist
}
Теперь все, что вам нужно сделать, это запустить qmake как обычно (в Creator выберите «Build-> Run qmake» в меню), а затем в терминале go в каталог сборки и просто выполните:
make macdist
Это сделает сборку fre sh release, запустите на ней macdeployqt и упакуйте ее в zip-архив.