使用Application Loader工具上传打包好的.pkg文件,这里我碰到过两个问题:
一直提示info.plist为macOS程序,但是包为ipa文件:我这边是Application Loader的问题,下载了3.1版本的这个问题就没有了;
程序中用到了QtWebEngine,在QtWebEngineCore.framework中包含了QtWebEngineProcess.app的应用,这里一直提示:
需要修改QtWebEngineProcess.app里面info.plist的CFBundleIdentifier值,把’org.qt-project.Qt.QtWebEngineProcess’ 改成’org.qt-project.Qt.myApp.QtWebEngineProcess’ ;
打包脚本:
# 打包脚本:
#!/bin/sh
/Users/my/Qt5.9.3/5.9.3/clang_64/bin/macdeployqt /Users/my/Documents/chenmq/work/build-myApplication-Desktop_Qt_5_9_3_clang_64bit-Release/myApplication.app
install_name_tool -change libqiniu.so @rpath/libqiniu.so /Users/my/Documents/chenmq/work/build-myApplication-Desktop_Qt_5_9_3_clang_64bit-Release/myApplication.app/Contents/MacOS/myApplication
cp /Users/my/Documents/chenmq/QtTest/build-myApplication-Desktop_Qt_5_9_3_clang_64bit-Release/myApp.app/Contents/Frameworks/* /Users/my/Documents/chenmq/work/build-myApplication-Desktop_Qt_5_9_3_clang_64bit-Release/myApplication.app/Contents/Frameworks/
签名脚本:
apppath="/Users/my/Documents/chenmq/work/build-myApplication-Desktop_Qt_5_9_3_clang_64bit-Release/myApplication.app"
frameworkpath="${apppath}/Contents/Frameworks/"
pluginpath="${apppath}/Contents/PlugIns/"
cert="3rd Party Mac Developer Application: mingquan(Hong Kong) Limited (JTS5ZE6933)"
certInstall="3rd Party Mac Developer Installer: mingquan(Hong Kong) Limited (JTS5ZE6933)"
entitlementPath="/Users/my/Desktop/mymac/mymac/mymac.entitlements"
codesign --entitlements ${entitlementPath} -s "${cert}" ${frameworkpath}*
codesign --entitlements ${entitlementPath} -s "${cert}" ${pluginpath}accessible/*
codesign --entitlements ${entitlementPath} -s "${cert}" ${pluginpath}audio/*
codesign --entitlements ${entitlementPath} -s "${cert}" ${pluginpath}imageformats/*
codesign --entitlements ${entitlementPath} -s "${cert}" ${pluginpath}mediaservice/*
codesign --entitlements ${entitlementPath} -s "${cert}" ${pluginpath}platforms/*
codesign --entitlements ${entitlementPath} -s "${cert}" ${pluginpath}printsupport/*
codesign --entitlements ${entitlementPath} -s "${cert}" ${pluginpath}sqldrivers/*
codesign --deep --entitlements ${entitlementPath} -s "${cert}" ${apppath}
productbuild --component ${apppath} /Applications --sign "${certInstall}" myApplication.pkg
参考文档:
打包:https://blog.csdn.net/imxiangzi/article/details/50994466
https://blog.csdn.net/casun_li/article/details/71741968
签名:https://www.apps121.com/2017/12/22/qtmacappstore/
https://stackoverflow.com/questions/32379982/api-calls-dont-run-when-i-codesign-my-mac-os-x-app
参考 https://zhuanlan.zhihu.com/p/591277716?utm_id=0
Qt程序上架Mac App Store 基本流程
可以跟着流程走
https://www.codenong.com/cs106624994/
网上说很复杂:
在App Store Connect网站上注册一个Apple开发者账号,并完成相关的开发者认证和支付信息设置。
使用Apple开发者账号,在Xcode中创建一个用于发布的开发证书,并生成相应的描述文件。
在Qt Creator中,打开你的项目,并确保项目的构建设置中选择了正确的开发证书和描述文件。
使用Qt Creator的构建功能,编译和构建你的项目。确保你选择了发布版本,并将构建目标设置为Mac。
在App Store Connect网站上,创建一个新的应用记录,并填写相关的应用信息,例如应用名称、描述、图标等。
在App Store Connect网站上,选择你的应用记录,并上传你的应用二进制文件。你可以使用Xcode的Application Loader工具来上传应用二进制文件。
在App Store Connect网站上,配置你的应用元数据,包括应用截图、预览视频、版本信息等。
在App Store Connect网站上,提交应用审核请求。审核过程可能需要一些时间。
审核通过后上架:如果应用审核通过,将收到一封电子邮件通知。此时,可以在App Store Connect网站上设置应用上架日期,并将应用提交到App Store上架。
引用chatgpt内容作答:
要将Qt项目上架到App Store,您需要遵循以下步骤:
1、创建开发者帐户:在苹果开发者网站上创建一个开发者帐户。您需要支付相应的费用并提供所需的身份验证信息。
2、获取证书和配置文件:在苹果开发者帐户中,您需要生成用于发布应用的证书和配置文件。这些文件将用于签名和验证您的应用程序。
3、配置项目设置:在Qt项目中,您需要进行一些配置以确保应用程序符合App Store的要求。在.pro 文件中,确保您已经设置了正确的应用程序元数据,如应用程序的名称、标识符、版本号等。
4、构建应用程序:在Qt Creator中打开您的项目,并使用Release配置构建应用程序。确保选择正确的目标平台(例如,iOS)和构建选项。
5、Xcode配置:Qt使用Xcode进行iOS构建,因此您需要在项目的构建设置中配置Xcode。在Qt Creator中,打开项目设置,导航到构建和运行 -> iOS,并设置正确的Xcode路径。
6、打包应用程序:使用Qt Creator将应用程序打包为一个IPA文件。IPA文件是iOS应用程序的打包文件,可以提交到App Store。
7、提交应用程序:登录到App Store Connect(苹果的应用程序管理平台),创建一个新的应用程序记录,并填写相关的应用程序信息,如描述、截图等。上传您之前生成的IPA文件,并选择正确的应用程序版本号。
8、进行审核:一旦您提交应用程序,它将进入苹果的审核流程。苹果将对应用程序进行审核以确保其符合App Store的规定。您需要耐心等待审核结果。
9、发布应用程序:一旦您的应用程序通过审核,您将获得一个发布应用程序的日期。在该日期之后,您的应用程序将在App Store上可用。
请注意,上架到App Store可能需要一些时间和精力。