首页 > 代码库 > Qt Mac 下软件Release 发布dmg

Qt Mac 下软件Release 发布dmg


1.首先当然是用Qt Creator,编译一个Release版本的软件



注意到编译出来的大小非常小,才420KB,因为一些类库还没包含进去的原因。现在还只能在你本地运行,拷贝到其他Mac电脑就不能运行了。


2.生成最终版的app


Qt安装目录的bin目录下有个工具叫macdeployqt就是供程序打包用的,使用非常简单,切换到该bin目录,执行

./macdeployqt yourappname.app 就可以了。就会自动在yourappname.app所在目录重新生成一个新的比较大的app了。


关于一些使用了第三方类库的,我还没研究过如何打包。


3.给app加上icon


右击你的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>NSPrincipalClass</key>
	<string>NSApplication</string>
	<key>CFBundleIconFile</key>
	<string>icon.icns</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleGetInfoString</key>
	<string>Created by Qt/QMake</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleExecutable</key>
	<string>TextureUnpacker</string>
	<key>CFBundleIdentifier</key>
	<string>@BUNDLEIDENTIFIER@</string>
	<key>NOTE</key>
	<string>This file was generated by Qt/QMake.</string>
</dict>
</plist>

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



4.生成dmg文件


app的告一段落,我们来看下如何生成dmg文件。
通过 Disk Utility 创建一个空白的dmg镜像, File –> New –> Blank Disk Image

我这里大小为100MB,最终制作出来的dmg文件会自动裁剪掉空白的。
双击“TextureUnpacker” 出来的空白窗口,一切的东西都在这里布局了,  请准备好一背景图片。以下是我打包用的图片:


在空白处右键(或菜单的方式也可以),选择”Show View Options”,把background选为Picture,把需要作为背景的图片拖进来。


将上面我们制作好的app拽到“TextureUnpacker”里面,再做一个Applications快捷方式(右键–>Make Alias)
最终效果图如下:



将做好的dmg,转换一下就完成了,在Disk Utility 中如果没有的话,请将它拽回去就可以了,然后右键TextureUnpacker.dmg–>Convert”TextureUnpacker”
再给dmg增加icon,跟上面app的icon一样,右击get info,然后拖icns到icon的位置。


最后双击制作要的dmg文件,看下是否是我们期望的(忽略掉那些隐藏文件):




看到自己做的软件出现在Application是不是很酷呢?
http://www.waitingfy.com/archives/1242