美文网首页
升级xcode11后上传ipa文件失败,xcrun altool

升级xcode11后上传ipa文件失败,xcrun altool

作者: SailSea | 来源:发表于2019-11-11 18:56 被阅读0次

错误提示:
/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool: No such file or directory


升级xcode11后,你会发现找不到Application loader这个工具了。

如何使用xcrun altool

(精简教程看不懂看详细教程图片多一点)

精简教程:

xcrun altool之前可以使用开发者账号和密码进行-登录-验证-上传。但听说不行了,现在需要用密钥的方式,用到的2个命令如下:

验证: xcrun altool --validate-app -f xxx.ipa -t ios --apiKey xxx --apiIssuer xxx --verbose
上传: xcrun altool --upload-app -f xxx.ipa -t ios --apiKey xxx --apiIssuer xxx --verbose

2个命令分别对应 验证IPA 和 上传IPA,都需要使用3个参数ipa路径、apiKey、apiIssuer

一:路径不用说了,可以使用xcodebuild打包或用OrganizerExport导出App store包。
二:apiKey和apiIssuer需要去开发者官网-用户和访问-密钥-去新增。

详细教程:

一.查询并记录issuser和apiKey(密钥 ID)

登录https://appstoreconnect.apple.com/ 然后选择【用户与访问】--->【密钥】
查询信息:issuser和apiKey(密钥 ID)

image.png
image.png
二.下载公钥保存在本地

摘自官方的一段话
[要注意到密钥只能下载一次,下载链接就会隐藏]

### 下载并存储私钥

生成API密钥后,您将有机会下载密钥的私有部分。私钥可一次下载。

1.  登录到[App Store Connect](https://appstoreconnect.apple.com/)。

2.  选择“用户和访问”,然后选择“ API密钥”选项卡。

3.  点击新API密钥旁边的“下载API密钥”链接。

仅当尚未下载私钥时,才会显示下载链接。Apple不保留私钥的副本。

将您的私钥存储在安全的地方。
image.png
点击下载即可
然后将下载好的xxxxxx.p8文件保存到需要放到一个固定目录下
'./private_keys'或者'~/private_keys' 或者'~/.private_keys' 或者'/.appstoreconnect/private_keys'都行,我这里选择/private_keys
创建目录: mkdir ~/private_keys
复制文件到此目录: cp /Users/lulu/Downloads/AuthKey_XXXXXX.p8 ~/private_keys
[执行命令时注意替换自己的文件路径和名称]
三.执行ipa上传命令

验证app:

xcrun altool --validate-app -f xxx/xxx/xxx.ipa -t ios --apiKey xxxxxxxx --apiIssuer xxxxxx --verbose

执行完提示No errors validating archive代表验证通过如下:
No errors validating archive at '/Users/lulu/workspace/appbuild/AutoPackage/app/ipa/123527_201911111458.ipa'

上传app:

xcrun altool --upload-app -f xxx/xxx/xxx.ipa -t ios --apiKey xxxxxxxx --apiIssuer xxxxxx --verbose

执行后又自动检查了一些数据然后显示了上传进度:


image.png

最后提示: 1 packages were uploaded successfully


image.png

判断检查成功和上传成功的条件

去掉--verbose参数执行命令时会分别有以下提示信息:

  • No errors validating archive at '/Users/lulu/workspace/appbuild/AutoPackage/app/ipa/123501_201911111040.ipa'
  • No errors uploading '/Users/lulu/workspace/appbuild/AutoPackage/app/ipa/123501_201911111040.ipa'
    可以使用脚本来判断是否包含No errors validating archive和No errors uploading来判断脚本是否上传成功或者失败

图:


image.png

参考脚本

    cnt0=`xcrun altool --validate-app -f "${root}/app/ipa/${applicationId}_${time}.ipa"  -t ios --apiKey "${ApiKey}"  --apiIssuer "${ApiIssuer}"`
    echo $cnt0
    cnt=`echo $cnt0 | grep “No errors validating archive” | wc -l`
    if [ $cnt = 1 ] ; then
        cnt0=`xcrun altool --upload-app -f "${root}/app/ipa/${applicationId}_${time}.ipa"  -t ios --apiKey "${ApiKey}"  --apiIssuer "${ApiIssuer}"`
        echo $cnt0
        cnt=`echo $cnt0 | grep “No errors uploading” | wc -l`
        if [ $cnt = 1 ] ; then
            echo "------------------------------$(date "+%Y-%m-%d %H:%M:%S"):上传IPA成功"
        else
            echo "------------------------------$(date "+%Y-%m-%d %H:%M:%S"):上传IPA失败"
            error_exit
        fi
    else
        echo "------------------------------$(date "+%Y-%m-%d %H:%M:%S"):上传IPA失败,验证api失败"
        error_exit
    fi

上传成功后去我的app上查看

官方App Store Connect API创建API密钥文档:
(https://developer.apple.com/documentation/appstoreconnectapi/creating_api_keys_for_app_store_connect_api)

相关文章

网友评论

      本文标题:升级xcode11后上传ipa文件失败,xcrun altool

      本文链接:https://www.haomeiwen.com/subject/komtictx.html