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. SharePoint 要一个多行文本类型字段为特殊类型的链接

    1.插入在测试列表中的多行文本字段.名字叫做Content.例如下面的附图: 2.在Content字段里.加入一个Link.例如以下图: 3.尝试输入Notes格式的Link,例如以下图: 4.点击O ...

  2. C++11 : variadic templates(可变参数模板)

      Introduction: Before the possibilities of the new C++ language standard, C++11, the use of templat ...

  3. yum安装于卸载软件常见命令

    1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突 ...

  4. SQL数值函数

    /*abs(n)返回参数n所指定数值的绝对值(如果参数值为NULL,则返回结果为NULL,下同).*/--SELECT ABS(-3.14) FROM DUAL; --3.14 /*round(n[, ...

  5. 关于C#中的抽象类、抽象方法和虚方法的探究

    2016年的第一篇文章,容我先喷喷新年的情怀,..........,好了,喷的差不多了. 在面向对象中,我们需要对类进行横向和纵向的认识,不同的类有不同特色的成员,同时在不同类的继承中,子类获得父类的 ...

  6. Abstract-抽象类

    本人理论较差,之前会做却不明原因,最近在改别人的代码发现实现方式完全不同,但对于我这个理论白痴来说完全不知道为什么别人要这么写,好处在哪里. 没有理论的指导,会用也只是不断的Copy前人,永远无法让程 ...

  7. Sql Server 2008清理数据库日志的语句

    USE [master]GOALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE DNName SET RECO ...

  8. Dijkstra算法 最短路径 (部分)

    void Dijkstra(int n, int v, int *dist, int *prev, int c[maxnum][maxnum]) {     bool s[maxnum];       ...

  9. uva 105 - The Skyline Problem

    一.用数组储存该位置的最高点即可(图形的连续点离散化),注意左边界及右边界的情况: 注意:无论建筑物最左边是盖到哪里,你都得从1开始输出(输入输出都是integer,所以才能离散化): #includ ...

  10. zepto自定义事件

    <!--测试自定义事件 trigger--> <script> $(function () { var meEvent = $.Event("custom" ...