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

注意到编译出来的大小非常小,才420KB,由于一些类库还没包括进去的原因。如今还仅仅能在你本地执行,复制到其它Mac电脑就不能执行了。

2.生成终于版的app

Qt安装文件夹的bin文件夹下有个工具叫macdeployqt就是供程序打包用的。使用非常easy,切换到该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

Qt Mac 下软件Release 公布dmg的更多相关文章

  1. Qt Mac 在软件 icns图标制作

    1.首先,下载一个电话Icon Composer软件 之前Xcode像这个东西,现在,我不知道有或无,迷茫,一世Xcode很少. Icon Composer是苹果出的. 下载地址: http://ww ...

  2. Mac 下 软件安装路径查看 命令: Which, 估计Linux 也是

    ✘ marikobayashi@juk  ~  which git /usr/bin/git marikobayashi@juk  ~  which maven maven not found ...

  3. 【开发软件】 在Mac下配置php开发环境:Apache+php+MySql

    本文地址 原文地址   本文提纲: 1. 启动Apache 2. 运行PHP 3. 配置Mysql 4. 使用PHPMyAdmin 5. 附录   有问题请先 看最后的附录   摘要: 系统OS X ...

  4. 在mac下使用brew和brew cask轻松实现软件安装

    Brew(homebrew) 1.简介 Brew 是 Mac 下面的包管理工具,通过 Github 托管适合 Mac 的编译配置以及 Patch,可以方便的安装开发工具. Mac 自带ruby 所以安 ...

  5. apple mac 下使用机械键盘的办法,键盘映射工具软件,apple mac Mechanical keyboard

    apple mac 下使用机械键盘的办法,键盘映射工具软件,apple mac Mechanical keyboard 想在苹果电脑 mac 系统下使用 机械键盘,大部分机械键盘不是为mac设计的,所 ...

  6. Mac下Qt连接MySQL 驱动问题

    Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...

  7. Mac下 如何配置虚拟机软件Parallel Desktop--超详细

    Mac下 如何配置虚拟机软件Pparallel Desktop--超详细 Mac 的双系统解决方案有两种,一种是使用Boot Camp分区安装独立的Windows,一种是通过安装Parallels D ...

  8. 在MAC下安装一些软件时提示"来自身份不明开发者"

    在MAC下安装一些软件时提示"来自身份不明开发者",其实这是MAC新系统启用了新的安全机制.默认只信任 Mac App Store 下载的软件和拥有开发者 ID 签名的应用程序.换 ...

  9. 给力Mac下的思维整理软件,思维导图软件合辑

    给力Mac下的思维整理软件,思维导图软件合辑 1.Mindjet MindManager for mac 10.0.211 经典的头脑风暴思维导图软件 最新破解Mindjet MindManager ...

随机推荐

  1. 对html制作新手的一些建议,大牛可以忽略

    本篇主要讲前端并给制作html页面的新手一些建议,大牛勿喷大牛可以绕过. 感受:我是搞后端开发的,有时拿到一些静态(Html)页面,看到里面的页面结构命名规则极不规范,就有点不好的 感觉了.当然出现这 ...

  2. Java 图片切圆角,消除锯齿

    public static BufferedImage setBorderRadius(BufferedImage srcImage, int radius){ int width = srcImag ...

  3. windows server 2003 AD

    本文转载:http://www.cnblogs.com/zfanlong1314/admin/EditPosts.aspx?opt=1 今天教大家用windows server2003系统建立Acti ...

  4. 强大的微软Microsoft Translator翻译接口

    一.前言 当我们需要对日文.韩文等语言转换中文字符的时候,就用到了微软提供的翻译接口. 二.实现流程 1.首先注册一个账号 https://datamarket.azure.com/account 2 ...

  5. linux int to string 方法

    最近从windows 移植程序的时候发现to_string()函数在linux 中不能用,网上找了几种方法,觉得使用stringstream对象来实现类型转化比较好一点. 你只需在你工程中加入下面的t ...

  6. POJ1276:Cash Machine(多重背包)

    Description A Bank plans to install a machine for cash withdrawal. The machine is able to deliver ap ...

  7. 容器 MAP

    1.equal_range pair <myMapDef::iterator,myMapDef::iterator> myresult; myPairDef ps=*MyMap1.begi ...

  8. CSAPP--存储器及程序的局部性

    作为一名程序员,你需要理解计算机存储系统的层次结构,他对应用程序的性能有着巨大的影响,如果程序所需要的数据存储在cpu的寄存器中,那么指令在执行期间,就可以花费零个周期来进行访问,而在Cache中则需 ...

  9. gtest以及测试小结

    所有的测试,都是让未知的东西和已知的东西进行比较,如果测试结果和预期的一样,那么就认为被测对象是OK的否则视为有问题. python的单元测试是写一堆继承了unittest.TestCase类,每个类 ...

  10. 怪胎:Android开发ImageView图片无法显示

    今天碰到一个非常奇怪的问题: 在Android中ImageView无法显示加载的本地SDCard图片. 具体过程是:先调用本地照相机程序摄像,然后将拍摄的图片加载在ImageView中显示. publ ...