棋盘网站开发,重庆建筑工程安全施工管理安全网,网站建设和维护自学,微信软文是什么意思背景#xff1a;
1#xff09;测试环境给测试#xff0c;产品#xff0c;或者其他业务人员打测试包时#xff0c;经常存在需要添加设备#xff0c;不得不重新生成描述文件#xff0c;手动去更新打包机描述文件配置 2#xff09;证书#xff0c;描述文件过期造成打包失…背景
1测试环境给测试产品或者其他业务人员打测试包时经常存在需要添加设备不得不重新生成描述文件手动去更新打包机描述文件配置 2证书描述文件过期造成打包失败需要重新生成描述文件证书等。并手动更换 3开发人员设备需要手动安装证书描述文件p12文件等。过期时也要手工更换 4测试验收完最后一个包时需要手动打包上传到appstore
针对这些现状对打包脚本进行了改进。使用苹果推出的自动签名机制进行打包并上传appStore 自动签名打包需要配置的内容如下 1, 打开Xcode在左上角Xcode点击下拉菜单然后选中Setting
接下来在弹出的操作面板上选择Account选择自己的apple developer Account 进行登录。 2在Xcode的Sign Capabilities 栏下方勾选 autoMatically manage signing, 并选择自己的team具体如下图所示
3配置ipa导出选项一个ExportOptions.plist文件导出ipa包时执行脚本命令需要 1Ad-hoc包配置如下
2Release包配置如下
3Debug包配置如下
4打包命令
archive
xcodebuild archive -workspace ProjectName.xcworkspace -scheme targetName -configuration Release -archivePath path/xxx.xcarchive -quiet -destination generic/platformiOS -allowProvisioningUpdates
exportArchive
xcodebuild -exportArchive -archivePath path/xxx.xcarchive -exportPath ipaPath -exportOptionsPlist path/ExportOptions.plist -allowProvisioningUpdates其中命令中的ProjectName、targetName、path、ipaPath等都需要根据自己的项目来配置。ExportOptions.plist需要根据自己的ipa包类型比如debug、release、adhoc来指定具体的文件 5调试件脚本 经过上面的配置后第一次打包很顺利成功了导出也没问题。但是过了一天再次打包就出问题了终端提示如下
DVTPortal: Error:
Error DomainDVTPortalServiceErrorDomain Code1100 Your session has expired. Please log in. UserInfo{payload{经过排查发现是xcode登录账号时默认会使用钥匙串因此需要把默认的使用钥匙串关掉。 操作步骤如下 1在Xcode退出所有已经登录的apple developer Account 2退出Xcode 3在终端执行如下命令defaults write com.apple.dt.Xcode DVTDeveloperAccountUseKeychainService_2 -bool NO 4重新打开Xcode登录apple developer Account 经过这些操作后目前没有再出现这个报错了。 参考网址https://developer.apple.com/forums/thread/112606
5上传appStore 通过命令行上传appStore官方文档地址 https://help.apple.com/asc/appsaltool/#/apdATD1E53-D1E1A1303-D1E53A1126 创建App 专用密码官方文档地址 https://support.apple.com/zh-cn/102654 最终的上传ipa包的命令如下
xcrun altool --upload-package ${ipaPath} -t ios --apple-id env.appId --bundle-id env.bundle_id --bundle-short-version-string ${APP_VERSION} --bundle-version ${BUILD_NUMBER} -u env.username -p env.password其中env.appId是从appStore中app信息里查看获取env.bundle_id是info.plist中的bundle identifierAPP_VERSION是info.plist的versionBUILD_NUMBER是info.plist文件中的BuildNumber
附件资源下载链接链接: https://pan.baidu.com/s/1qR5-nrYjnIhLI7xqPUqn4Q?pwd3pdi 提取码: 3pdi