こんばんは。今日は、開発したモバイルアプリをApple Test Flightへリリースする手続きと闘っておりました。(アプリの開発、終わったわけではないんですがね・・・)
その際に詰まった問題について、記録に残しておこうと思います。
それでは参ります。
問題
iOSアプリをApple Test FlightへリリースするためにApple Store Connectへアップロードする必要がありました。
アップロードする方法は、こちらで紹介されている通り、3通りありますが、今回はxcrun altoolを利用した方法で問題が発生しました。
https://help.apple.com/app-store-connect/#/devb1c185036
以下のコマンドを実行したところ、
xcrun altool --validate-app -f [path to ipa file] -t ios -u [userid] -p [password]
こんなエラーが発生しました。
*** Error: Unable to validate archive 'path to ipa file'.
*** Error: Authentication failed. Failed to get authorization for username 'xxxx' and password with errors:(
"Error Domain=NSCocoaErrorDomain Code=0 \"Status code: 0\" UserInfo={NSLocalizedDescription=Status code: 0, NSLocalizedFailureReason=The auth server returned a bad status code.}"
) (-1011)
このusernameとpasswordは、自分のapple idとそのパスワードを設定していました。
原因と解決方法
こちらでDiscussionされていた内容が解決に役立ちました。App用パスワードを使えと。
https://developer.apple.com/forums/thread/681186
I had the same issue, for me it helped to use “application password” generated on https://appleid.apple.com/account/manage instead of my main appleId password
https://appleid.apple.com/account/manage
で、生成できるApp用パスワードをPasswordに設定してみると、無事アップロードが走りました!
うーん、それにしても以下の説明からだけでは、App用パスワードが必要だなんてわからない気がするけどなぁ・・・
https://help.apple.com/asc/appsaltool/#/apdATD1E53-D1E1A1303-D1E53A1126
同じ問題で詰まっている方のお役に立ちましたら幸いです。
おしまい
https://support.apple.com/ja-jp/HT204397
公式ページにApp用パスワードの説明がありました。外部のサービスからApple IDを使って認証を行う場合に使うパスワードのようです。
なるほど、今回xcrun altoolは外部のサービスという位置付けだったので、App用パスワードが必要だったということですね。ちょっとスッキリ。