基于Qt5的桌面应用程序上传到Mac App Store流程
###参考资料:
- 1、Mac下Qt程序打包
- 2、调整Qt5打包后Framework中的目录结构脚本
- 3、info.plist文件键值说明
- 4、Framework Bundles苹果官方说明
- 5、python库:plist文件读取(biplist)
###流程:
-
编译工程, Build Phases中增加以下脚本 * 拷贝Qt所需的Framework和插件脚本
过程中直接使用macdeployqt命令,会自动拷贝所有的Qt的库,如果需要精简程序可在脚本中写代码手动有选择的拷贝 * 调整app下Qt的每个Frameworkde目录脚本
使用了参考资料[2]的脚本,另存为了py文件(ChangeQt5FrameworkDir.py)
* Qt的Framework的info.plist修改脚本
由于Qt的各个Framework中的info.plist使用并不符合苹果的规范,所以自己写了个python脚本(AddBundleInfo.py)来修改Qt各个Framework中的info.plist信息, 嵌入到了ChangeQt5FrameworkDir.py文件中 -
配置xcode
- xcode上配置具有Distribution(发布)权限的账号及修改工程签名配置等,这里不做阐述,具体请度娘
- 配置归档属性,xcode->Edit Scheme->Archive->Build Configuration修改为Release
-
生成归档(Archive)
-
过程中遇到的其他问题
- 提示icns文件找不到512x512、512x512@2的图标,重新生成icns文件后通过