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. 设计模式(3)-对象创建型模式-Abstract Factory模式

    1.对象创建型模式 1.3           Abstract Factory模式 1.3.1 需求 在下面情况能够使用Abstract Factory模式: •  一个系统要独立于它的产品的创建. ...

  2. Ajax原生XHR对象

    前端学了有一段时间了,在项目中我通常使用的都是jQuery封装好的Ajax函数($.ajax.$.get.$.post),使用非常的简单方便,但为了更清楚的了解Ajax,需要学习原生xhr对象.   ...

  3. REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解

    转载自处blog.csdn.net/tantexian. SOA: 维基百科解释:SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机软件的设计模式, ...

  4. asp.net(C#)利用QRCode生成二维码---.NET菜鸟的成长之路

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="QRCode.aspx.cs&q ...

  5. Set Windows IP by Batch

    netsh interface ip set address name="Local" static 192.168.1.55 255.255.255.0 192.168.1.1 ...

  6. 浅述Oracle分布式事务概念

    着系统的复杂性不断增加,我们所面对的分布式系统渐渐增加.分布式文件系统.分布式消息队列系统等等层出不穷,在一些行业特别是互联网行业应用广泛.分布式数据库也是目前使用比较常用的分布式系统之一. 简单来说 ...

  7. Swift缩水版MJExtension - Reflect的基本使用

    github:https://github.com/CharlinFeng/Reflect 直接拖拽Reflect文件夹到您的项目中即可,无任何第三方依赖!文件夹结构说明:.Coding 归档相关.R ...

  8. 关于jdbc Oracle数据库连接的URL错误

    今天写了个java类连接oracle,抛出了这个问题 java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127 ...

  9. 【转】c/c++各种字符、字符串类型转换

    itoa   功 能:把一整数转换为字符串   用 法:char *itoa(int value, char *string, int radix);   详细解释:itoa是英文integer to ...

  10. 关于js中的事件

    这是第一篇技术性博客. 因为最近做的web版前端求职简历算是告一段落了(点此看简历).(稍微记录下吧:自从确定简历的简笔画风格后(因为刚开始设想的蓝天白云大树啥的不仅图片特难找而且做着做着就觉得有点俗 ...