I'm trying to use the @keychain
option with the -p
switch in altool in order to load my iTunes Connect password from the keychain:
altool --validate-app -f "${IPA}" -u "redacted" -p "@keychain:?????"
I'm trying to figure out what I need to enter after @keychain:
. Everything I try (path of the keychain file, name of the keychain entry, username in the keychain entry) produces the following error:
*** Error: The specified item could not be found in the keychain.
altool
supplies the following info about the -p
param:
-p, --password Password. Required if username specified. Password is read from stdin if one is not supplied.
May use @keychain: or @env: prefixes followed by the keychain or environment variable lookup name.
e.g. -p @env:SECRET which would use the value in the SECRET environment variable.
Prerequisites:
AC_USERNAME
.AC_PASSWORD
.altool
's @keychain
parameter. We call this ITEM_NAME
.In the instructions below, replace AC_USERNAME
, AC_PASSWORD
and ITEM_NAME
with the values you need. Do not type these names verbatim.
Now:
Keychain Access.app
File > New Password Item … . In the Keychain Item Name, enter the name you want for ITEM_NAME
, the Account Name is your AC_USERNAME
and the AC_PASSWORD
goes into the Password field.security add-generic-password -a "AC_USERNAME" -w "AC_PASSWORD" -s "ITEM_NAME"
altool
, you now pass -u AC_USERNAME -p "@keychain:ITEM_NAME"
to make it fetch the password from the keychain.altool
, you get a security confirmation dialog asking you whether to allow altool
to read the password. Enter your keychain password and click on Always allow
.To prevent the security confirmation dialog from appearing, either click on Always allow
or modify the appropriate keychain entry. This works like this:
altool
by opening a shell and typing xcrun -find altool
.-T <path>
when creating the password using the security add-generic-password
command or:
Keychain Access.app
.File > Get Info
(or press Cmd+I or click the ⓘ
icon).Access Control
tab and press the +
button. A file selection dialog opens.Go > Go to Folder…
and paste the path to altool
(the directory part, without altool
itself, e.g. /Applications/Xcode.app/Contents/Developer/usr/bin/
).altool
to the open panel of Keychain Access
and press the Add
button.The way that worked for me was logging in with the Application Loader itself (check the "Keep me logged in" option) and use the keychain entry of the Application Loader.
So my command looks like this:
altool --validate-app -f APPLICATION.ipa -u [email protected] -p @keychain:"Application Loader: [email protected]"
The correct usage is to enter the name of the keychain item (not the name of the keychain itself, and not the "Account" field for the keychain item).
My problem was actually related to access control. I had to edit the keychain item in Keychain Access and tweak the Access Control settings to allow altool
to see the keychain item.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With