搜索
您的当前位置:首页正文

基于Qt开发的应用程序上传到Mac App store 流程

来源:二三娱乐

最近摸索着将一个基于用Qt开发的App发布到Mac App Store,在网上查找相关资料的时候,发现很多文档都过期了,要有一些修改,所以想记录下来,希望能帮助有需要的同学,让他们少走一些弯路。

这里我们假设你已经有一个Mac开发者账号,成功安装好了相关证书,并且已经准备好你的App了(release版,但未部署)。

第一步:打包

Qt自带的macdepolyqt 工具能够很方便的帮助你实现这一目的。虽然很多人觉得这个工具并不完美,会把一些实际上用不到的插件和库也会拷贝进去(这是因为它本身的判断方式,比如你的程序用到了QtSql.framework, 那么它就会把所有的sqldrivers目录中的插件都拷贝过来,而不管你的程序有没有用到,这让你的程序变得臃肿),但是对于初学者,我相信你更喜欢用这种方式,因为它相当简单。

第二步:sandbox 和 info.plsit文件

第三步:签证书

在完成上一步后,所有用到的库和插件都已经拷贝到程序所在的Bundle里面了。可以按照这里的说明进行Code Signing,但是这里需要注意的是,在签证书之前必须手动的把每个Framework下面的info.plist文件考到相应的目录下,以QtCore.framework为例,你需要将“Qt安装目录/5.2.0/clang_64/lib/QtCore.framework/Contents/info.plist”拷贝到“App所在目录/Contents/Frameworks/QtCore.framework/Resources/”, 否则在给Framework签证书的时候会失败,当然会导致最后给整个Bundle签证书的时候失败。签证书的顺序应该是先签里面的Framework 和Plugins,最后签整个Bundle。签成功之后,除了Plugins,每个Framework的子目录内和Contents目录下都会有一个_CodeSignature的文件夹。

Ps:在成功之后不要忘了保存你所用到的命令行,就可以做一个脚本了,下次在打包部署的时候就方便多了。

Top