アイリッジ開発者ブログ

アイリッジに所属するエンジニアが技術情報を発信していきます。

altoolって何だろう?

こんにちは。開発部第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の使用方法に関するガイドが公開されています。

altoolの公式ドキュメント:altool ガイド 1.3

現在ガイドはバージョン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が提供するツールはいつの間にか削除されてしまったりして慌ててしまうことが多いですが、今後もマメにチェックしていきたいと思います。
最後まで読んでくださりありがとうございました!