首页 > 代码库 > 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文件。加上图标信息。

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
  3. <plist version="1.0">  
  4. <dict>  
  5.     <key>NSPrincipalClass</key>  
  6.     <string>NSApplication</string>  
  7.     <key>CFBundleIconFile</key>  
  8.     <string>icon.icns</string>  
  9.     <key>CFBundlePackageType</key>  
  10.     <string>APPL</string>  
  11.     <key>CFBundleGetInfoString</key>  
  12.     <string>Created by Qt/QMake</string>  
  13.     <key>CFBundleSignature</key>  
  14.     <string>????</string>  
  15.     <key>CFBundleExecutable</key>  
  16.     <string>TextureUnpacker</string>  
  17.     <key>CFBundleIdentifier</key>  
  18.     <string>@BUNDLEIDENTIFIER@</string>  
  19.     <key>NOTE</key>  
  20.     <string>This file was generated by Qt/QMake.</string>  
  21. </dict>  
  22. </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是不是很酷呢?