Leo*_*die 6 xcode application-loader ipa
我目前正在尝试使用 ALTool 将我的应用程序 IPA 作为构建脚本的一部分上传到 App Store Connect。这些是我正在使用的命令:
xcrun altool --validate-app -f my-ipa-file.ipa -t ios --apiKey "MYAPIKEY" --apiIssuer "MYISSUERID"
xcrun altool --upload-app -f my-ipa-file.ipa -t ios --apiKey "MYAPIKEY" --apiIssuer "MYISSUERID"
Run Code Online (Sandbox Code Playgroud)
我的私钥(p8)位于
./private_keys/AuthKey_MYAPIKEY.p8
根据 altool --help 命令,该工具将在以下目录(按顺序)中查找名为 AuthKey_<apikey>.p8 的 p8 文件:
./private_keys
~/private_keys
~/.private_keys
~/.appstoreconnect/private_keys
Run Code Online (Sandbox Code Playgroud)
考虑到 p8 文件位于该列表的第一个文件夹中,这应该可行。对于 --validate-app 调用,它确实有效。调用 App Store Connect,应用程序进行验证,如果 App Store Connect 出现任何错误,它们将按预期返回。
但是,由于某种原因,--upload-app 命令总是返回相同的错误:
2020-09-01 14:24:40.934 altool[28265:119010] * Error: Error uploading 'my-ipa-file.ipa'.
2020-09-01 14:24:40.934 altool[28265:119010] * Error: code -18000 (Could not locate the private key file: AuthKey_MYAPIKEY.p8)
Run Code Online (Sandbox Code Playgroud)
由于某种原因,--upload-app 似乎无法正确加载 ./private_keys/ 中的 p8 文件,而 --validate-app 则可以。
将 p8 文件放在其他 3 个文件夹(~/private_keys 等)之一中确实可以作为临时解决方法进行验证和上传。但我更喜欢使用 ./private_keys 因为我的构建脚本如何将文件注入到构建过程中。
这是 altool 中的错误还是我遗漏了什么?
在 GitHub actions 中,我只是将 api 密钥放入$RUNNER_TEMP
. 然后在运行时xcrun altool
我这样做:
API_PRIVATE_KEYS_DIR=$RUNNER_TEMP xcrun altool
Run Code Online (Sandbox Code Playgroud)
这可能是一个错误。
上传应用程序时,altool
似乎会iTMSTransporter
在幕后调用来进行实际上传。后者在运行之前更改当前目录,因此当它在当前目录中查找时./private_keys/AuthKey_MYAPIKEY.p8
,它会检查错误的位置。
见于.cd
/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/itms/bin/iTMSTransporter
我想验证应用程序时altool
不会调用。iTMSTransporter
归档时间: |
|
查看次数: |
3216 次 |
最近记录: |