notarytoolは、Appleの公証サービス(notary service)にアプリを提出して公証するコマンド。Xcode 13以降に含まれ、xcrun notarytoolで実行する。旧来の公証コマンドであるaltoolの後継にあたる。ここでは各機能の使い方を解説した記事へリンクする。
サブコマンド
xcrun notarytool --helpで確認できるサブコマンドは6つ。実行例はXcode 27.0に含まれるnotarytool 1.1.3のもの。
| サブコマンド | 役割 |
|---|---|
store-credentials | 認証情報をキーチェーンに保存する |
submit | アーカイブを提出する |
info | 提出1件の状態を取得する |
wait | 提出済みの完了を待つ |
history | チームの過去の提出を一覧する |
log | 完了した提出1件のログを取得する |
認証と出力のオプション
次のオプションは、submit、info、wait、history、logで共通である。store-credentialsは、認証のオプション(-k -d -i、--apple-id --password --team-id)、--keychain、-vを持つ。
| オプション | 内容 |
|---|---|
-k -d -i | App Store Connect APIキーで認証する |
--apple-id --password --team-id | Apple IDとApp用パスワードで認証する |
-p --keychain-profile | store-credentialsで保存した認証情報で認証する |
--keychain | 認証情報を読み込むkeychainファイルを指定する |
-f --output-format | 出力形式を指定する |
--progress --no-progress | 進捗の表示を切り替える |
-v | 詳細なログを表示する |
記事一覧
認証情報
- 【notarytool】App用パスワードで公証用の認証情報を保存する
App用パスワードの発行と、
store-credentialsでの保存を紹介する。 - 【notarytool】App Store Connect APIキーで認証する (-k -d -i)
APIキーの作成と、
submitへの直接指定、store-credentialsへの保存を紹介する。 - 【notarytool】認証情報の保存先と検証を指定する (store-credentials)
--keychain、--sync、--no-validateで、保存先と保存前の検証を指定する。 - 【notarytool】保存した認証情報を削除する
notarytoolに削除コマンドがないため、保存先ごとの削除方法をまとめる。
公証の実行
- 【notarytool】アプリを公証してstaple(公証チケットを添付)する
submit --waitで公証し、staplerでチケットを添付する。 - 【notarytool】提出と待機を分けて公証の完了を待つ (wait)
submitで提出だけを済ませ、waitと--timeoutで完了を待つ。 - 【notarytool】dmgを公証する (submit) dmgの作成、署名、公証、stapleの手順と、zipとの違いを紹介する。
結果の確認
- 【notarytool】結果をJSON・plistで出力してスクリプトで使う (-f)
-fでJSONやplistに出力し、jqやplutilで値を取り出す。 - 【notarytool】過去の提出を一覧する (history)
Teamの過去の提出を一覧し、
jqで失敗した提出を探す。 - 【notarytool】公証に失敗した理由をログから調べる
infoとlogで、公証に失敗した理由を調べる。 - 【notarytool】認証エラーと終了コードから原因を調べる (-v)
終了コードとエラーメッセージ、
-vの出力から、エラーの原因を調べる。
\第一線のプログラマーの行動原理を学べる!/
