小言_互联网的博客

Qt在Mac环境下制作dmg安装包

340人阅读  评论(0)

1,编译软件的Release版本
开发完Qt 项目后,我们需要将项目进行打包。首先,编译一个Release版本号的软件,此时编译出来的包大小非常小,这是由于一些类库还没打包进去的原因,还处于开发环境。

2,生成app文件
生成app文件需要借助macdeployqt工具,该工具位于Qt安装文件夹的bin文件目录下,如下图所示。


macdeployqt使用非常简单,切换到该bin目录下,然后执行./macdeployqt appname.app 即可。例如:

./macdeployqt  /Users/bilibili/qt/build-downloader-Desktop_Qt_5_12_6_clang_64bit-Release/downloader.appmacdeployqt

执行完命令后,就会在appname.app所在文件夹下生成一个新的比較大的app。

3,给app添加icon
开发上一步生成的app,然后右击app,选择显示包内容。

里面有个叫info.plist的文件,里面记录了非常多这个软件的信息,icon的信息也记录在这里。首先把你制作好的图标icns后缀的文件复制到Resources文件夹下。关于icns制作,可以查看《Qt Mac 下软件 icns图标制作》,然后编辑Info.plist文件,加上图标信息。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleExecutable</key>
	<string>downloader</string>
	<key>CFBundleGetInfoString</key>
	<string>Created by Qt/QMake</string>
	<key>CFBundleIconFile</key>
	<string>bilibili.icns</string>
	<key>CFBundleIdentifier</key>
	<string>com.yourcompany.downloader</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>LSMinimumSystemVersion</key>
	<string>10.12</string>
	<key>NOTE</key>
	<string>This file was generated by Qt/QMake.</string>
	<key>NSPrincipalClass</key>
	<string>NSApplication</string>
	<key>NSSupportsAutomaticGraphicsSwitching</key>
	<true/>
</dict>
</plist>

其中,CFBundleIconFile 对应的值就是图标的名称。当然,做完这步发现app的图标还是默认的,没有更改成我们想要的图标。此时右击app,选择显示信息(GetInfo),然后把icns文件拖到左上角的图标位置。

4,生成dmg安装包

接下来,我们看一下怎么通过 Disk Utility 生成dmg安装包。打开finder-应用程序-实用工具-磁盘工具,然后创建一个空白的dmg镜像,如下图。
系统默认会创建一个大小为100MB的dmg镜像,最终制作出来的dmg文件会自己主动裁剪掉空白的。然后,右击这个空白的dmg镜像,会打开一个空白的窗体。

然后在dmg镜像程序的空白处右击,选择【查看显示选项】,然后选择图片,并将准备好的图片拖到方框里面,如下图。

将上面制作好的app拽到空白镜像dmg里面,再做一个Applications快捷方式(右键–>Make Alias),将做好的dmg,转换一下就完毕了。


转载:https://blog.csdn.net/xiangzhihong8/article/details/103913627
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场