こんにちは。開発部第1グループの高橋彩夏です。
iOSアプリ開発の中で調べた事などをシェアしていきたいと思います。
今回のテーマは altool についてです。
ビルドしたiOSアプリをコマンドでApp Storeにアップロードする時に使っています。
CI等でコマンドを使ったことはあるけれど、altool自体がどういう物なのか私はよく知らなかったため、詳しく調べてみました。
目次
あらためて、altoolって何だろう
Appleが提供している、Application Loader のコマンドラインツールです。
altoolは、Xcode内蔵のツールチェーン、ツール群の中の1つであり、App Storeへ.ipa、または.pkg形式のバイナリファイルをアップロードできます。
Application Loaderとは
Xcode11のリリースと共に消えてしまった、今はなきツールです。
なお、現在はTransporterというmacOSアプリが代わりを務めており、App Storeでインストール可能です。
「altool」の読み方
Appleのセキュリティエンジニアさんは「エー・エル・ツール」と呼んでいました。(WWDC2021の動画にて)
Application Loader の頭文字をとって A L Toolとなったようです。
altoolの公式ドキュメント
Application Loaderが消えたのと同時期の2019年9月に、altoolの使用方法に関するガイドが公開されています。
現在ガイドはバージョン1.3になっています。日本語版もちゃんと更新されているのでありがたいですね🙏
altoolの格納場所はどこにあるのか
前述の通りXcodeに内蔵されているので、Xcodeのパッケージ内にあります。
/Applications/Xcode.app/Contents/SharedFrameworks/ ContentDeliveryServices.framework/Versions/A/Frameworks/ AppStoreService.framework/Versions/A/Support/altool
※xcode-select
コマンドでXcodeのバージョンを選択している場合は、該当するバージョンのツールチェーンが使用されます。
※上記を確認したマシンの情報は以下の通りです。
macOSバージョン:12.5.1 / CPU:Intel / CommandLineToolsバージョン:Xcode14.1
xcrunコマンドとの関係
altoolを使う時、 よくxcrun
というコマンドがセットで出てきます。
xcrun
とは、Xcode内蔵の複数のコマンドラインツールの中から、使いたいコマンドを見つける、または実行するコマンドです。
altoolを使いたいときに、いちいち手動でパスを通す手間を省いてくれています。
Xcode内の他のコマンドラインツールも同じように xcrun
で見つけて実行することができます。
書き方の例
ユーザー名・パスワードでの認証
$ xcrun altool --upload-package <パス・ファイル名> -t ios --apple-id <apple_id> --bundle-id <bundle_id> --bundle-short-version-string <version_string> --bundle-version <bundle_version> -u <username> -p <password>
※手動でパスを通す方法
以下のようにaltoolへのパスを通しておくと、xcrun
を省略して実行できます。
$ export PATH=$PATH:"$(dirname "$(find "$(dirname "$(xcode-select -p)")" -name altool | head -1)")"
非推奨になったパラメータについて
altoolの使い方を検索するとよくaltool --upload-app …
を使用する例が出てきますが、--upload-app
パラメータは2022年4月以降に非推奨となりました。
代わりに --upload-package
が提供されているので、こちらを使いましょう!
終わりに
今回は、altoolというコマンドについてご紹介しました。
Appleが提供するツールはいつの間にか削除されてしまったりして慌ててしまうことが多いですが、今後もマメにチェックしていきたいと思います。
最後まで読んでくださりありがとうございました!