QT-Mac:在Mac下实现QT程序的打包及公证

一、QT程序在Mac下的生成

  QT程序在Mac下可以使用QT Creator工具生成,也可以使用XCode进行生成。QT Creator怎么生成不提,基本与Windows一致。我们可以使用qmake yourproject.pro -spec macx-xcode 指令生成XCode项目,然后可以用XCode工具打开yourproject.xcodeproj,然后点击build来生成,一般是在同级目录下,存在一个Debug文件夹中

二、QT程序在Mac下的打包

  QT程序在Mac平台上,我们可以使用macdeployqt yourapp.app文件来实现打包工作,如果后面添加-dmg参数,则生成镜像文件。macdeployqt 会自动将依赖的QT库搬移到App的Frameworks下,其他的依赖的第三方则需要自己手动放置,当然我们可以编写Shell脚本来实现。

三、QT程序在Mac下的公证(notarize app)

  公证主要是为了防止MacOS gatekeeper在安装时的阻拦,相当于有了身份。公证之前,需要对app进行签名,签名包括对依赖库的签名和对app的签名

  1.签名

  签名主要是使用codesign命令对dylib和app文件的操作

  2.公证

  公证之前需要先获得自己的开发者证书,具体如何获取,可以参考Apple的Developer指南。

遇见的问题:

1.签名公证后,在安装运行时,提示无法运行之类的

一般是签名的时候app包里头包含.DS_Store文件,把他删掉就可以了。

  

四、上传Apple Store

  目前没有上传应用商店,等后续有操作了,再来记录

  

    

原文地址:https://www.cnblogs.com/chyshx/p/14530079.html