本人刚接触QT不久,用QTCreator开发的程序要上传到Mac App store,那首先就要打包,想试着用xcode能不能打包,试了很长时间,总是没能试出,用xcode是能运行(请看后文:用xcode打开QT程序),但就是搞不清楚xcode是如何打包的,那些库如何拷进包里?LaunchScreen文件如何设置?最后找了很多参考文档,用脚本打包了。
本文主要内容目录:
打包步骤
备忘(打包脚本)
用xcode打开QT程序
查看iMac 的UUID
icns图标制作
打包步骤:
第一步:Release app generation 生成app包
macdeployqt Joop.app (前提是QTCreator release运行有了Joop.app, 注:我的程序叫Joop)
第二步: Check if everything when ok 检查
dsymutil Joop.app/Contents/MacOS/Joop -o Joopapp.dSYM (这步应该没什么用)
第三步: Sign Frameworks (签名第三方lib库)
codesign --entitlements ../Joop.entitlements -f -s "3rd Party Mac Developer Application: XXX" Joop.app/Contents/Frameworks/QtCore.framework/Versions/5/QtCore (将所有的lib库,包括号qt的库者签名)
1. Joop.entitlements:是从xcode里面弄出来的,主要是打开sandbox,沙 盒化.
2. 3rd Party Mac Developer Application: XXX 是证书的名字. 这个证书是你电脑上有的,否会提示找不到,这个名字一是不要用敲,容易出错,二是,双引号一定要是英文,不然也出错。证书的名字获取方法:如果证书安装好后钥匙串程序中能看到以3rd Party Mac Developer Application开头的,右键->显示简介 然后将名字复帛制下来,如果有括号,括号也要一起,如:3rd Party Mac Developer Installer:XXXXX Technologies Inc. (BH54333ADL5T)
3. 关于证书的理解:http://blog.youkuaiyun.com/iflychenyang/article/details/45894471
第四步:Sign bundle app (签名主程序app)
codesign --deep --entitlements ../Joop.entitlements -f -s "3rd Party Mac Developer Application: XXX" Joop.app
第五步:Generate Pkg (生成安装包.pkg)
productbuild --product