zoukankan      html  css  js  c++  java
  • Qt Mac 下软件Release 公布dmg


    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
  • 相关阅读:
    流媒体服务器搭建
    netcore问题总结
    Linux(Debian)网卡设置
    windows服务器让WEB通过防火墙的问题
    经典算法一 --- 过桥问题
    MySQL字段属性介绍
    什么是流程控制
    终于决定了,转行。
    浅析Openflow
    JavaScript 中 this 的详解
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5246559.html
Copyright © 2011-2022 走看看