Xcode · iOS/macOS開発

Xcodeのビルド完了・Archive通知をiPhoneやApple Watchで受け取る方法

クリーンビルド、Swiftマクロのコンパイル、UIテストスイート、App Store Connect向けのArchive処理には数分〜十数分かかります。Macの前を離れてコーヒーを淹れている間でも、Build SucceededやBuild FailedをiPhoneやApple Watchで即座に受け取る3つの方法を紹介します。

brew install --cask n2ctech/tap/notiferry

最終更新: · macOS 15.0 以降対応 · 7日間無料トライアル

要点まとめ

  • NotiFerryを使えば、XcodeがmacOS通知センターに出すBuild Succeeded / Build Failed通知をスクリプト不要でiPhoneへ自動転送できます。
  • Xcode単体を無料で通知したい場合は、Xcode → Settings → Behaviors の Run スクリプトから curl で ntfy.sh へPOSTできます。
  • CLIの xcodebuild や Fastlane でも、コマンド完了後にntfyへ通知を送るワンライナーがそのまま使えます。
  • iPhoneの画面がロックされていれば、ビルド完了通知はそのまま手首のApple Watchへミラーリングされます。

方法1:NotiFerryでXcodeの通知を自動転送する

Xcodeはデフォルトで、ウィンドウがバックグラウンドにあるときのビルド成功・失敗・テスト完了をmacOS通知センターへ通知します。NotiFerryを使うと、シェルスクリプトを書くことなくこれらの通知をiPhoneへ転送できます。

  1. macOSの通知設定を確認: システム設定 → 通知 → Xcode で通知がオンになっていることを確認します。
  2. NotiFerryでXcodeを選択: NotiFerryの転送対象アプリで Xcode を有効にします。短時間の連続ビルドで通知が鳴りすぎないよう、バースト集約(Burst Collapsing)が自動的に機能します。
  3. iPhoneのntfyで受信: ビルドを開始して別ウィンドウに切り替えるか席を離れると、完了時にiPhoneへ「Build Succeeded」または「Build Failed」が届きます。

方法2:Xcode Behaviorsにntfyスクリプトを設定する(無料)

Xcodeには、ビルド開始・成功・失敗、テスト完了などのイベント時に任意の実行ファイル(スクリプト)を起動できるBehaviors機能が標準搭載されています。

  1. 以下の内容で ~/bin/xcode-ntfy.sh を作成し、chmod +x ~/bin/xcode-ntfy.sh で実行権限を付与します。
  2. Xcodeメニューの Xcode → Settings… → Behaviors を開きます。
  3. 左側のリストから Builds → Succeeds(および Fails、Testing → Completes)を選択し、右側の Run にチェックを入れて作成したスクリプトを指定します。
#!/bin/sh
# ~/bin/xcode-ntfy.sh (chmod +x を付与して Xcode Behaviors の "Run" に指定)
TOPIC="your-private-topic"
STATUS="${1:-Build event}"
PROJECT="${XcodeProject:-Xcode}"

curl -s \
  -H "Title: Xcode: ${STATUS}" \
  -d "${PROJECT} on $(scutil --get ComputerName)" \
  "https://ntfy.sh/${TOPIC}" >/dev/null 2>&1 &

方法3:ターミナルのxcodebuildやFastlaneから通知する

CIやローカルのターミナルで xcodebuild を実行する場合は、コマンドの成否に応じて curl を呼び出すワンライナーが便利です。

xcodebuild -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 16' test \
  && curl -s -H "Title: xcodebuild 成功" -d "テストがすべて通過しました" https://ntfy.sh/your-private-topic \
  || curl -s -H "Title: xcodebuild 失敗" -H "Priority: high" -d "ビルドまたはテストが失敗しました" https://ntfy.sh/your-private-topic

Apple Watchの手元でビルド完了を確認する

デスクから離れてキッチンや別室にいるとき、iPhoneをポケットから出さずにApple Watchの振動だけでビルド結果を確認できます。iPhone側でntfyの通知が許可されていれば、iPhoneの画面がロックされている間、iOSが自動的にApple Watchへ通知を中継します。詳しい設定はntfyでMacの通知をApple Watchで受け取るガイドをご覧ください。

macOSメニューバー常駐

MacとiPhoneでの動作イメージ

macOSの通知センターフォルダに読み取り専用アクセスを許可し(フルディスクアクセス不要)、iPhoneの無料アプリ「ntfy」で専用トピックを購読します。テスト通知の受信を確認すると、7日間の無料トライアルが開始されます。

7日間無料トライアルをダウンロード
brew install --cask n2ctech/tap/notiferry
iPhoneに届く通知の例(ntfyアプリ内)
ntfyたった今

Claude Code — Permission required

Allow Bash tool in notiferry? · 全文表示 または タイトルのみ

ntfy · バースト集約2分前

Xcode — Build Succeeded (+4 earlier alerts)

macOS上のNotiFerryダッシュボード画面。通知転送が有効で、セッション中に9件の通知が転送され、プライバシーモードとiPhoneへのテスト送信ボタンが表示されている様子
macOS版NotiFerry:転送ステータス、プライバシーモード選択、iPhoneでのテスト受信確認。

よくある質問

XcodeにはiPhoneへ直接ビルド通知を送る標準機能はありますか?

いいえ。Xcodeはビルド成功・失敗やテスト完了をMacの通知センターに表示しますが、macOSはその通知をiPhoneへ転送しません。iPhoneで受け取るには、Xcode Behaviorsからntfyへスクリプトを実行するか、NotiFerryでmacOS通知センターから転送する必要があります。

短時間に連続してビルドした場合、iPhoneに通知が大量に届きませんか?

NotiFerryにはアプリ単位のクールダウンとバースト集約(burst collapsing)機能があり、短時間に連続したXcodeの通知を1件のサマリー通知(例:「+4 earlier notifications」)にまとめてiPhoneへ配信できます。

Xcode BehaviorsのスクリプトとNotiFerryはどちらを選ぶべきですか?

XcodeのGUIビルド完了だけを無料で通知したい場合は、Xcode Behaviorsのシェルスクリプトで十分です。一方、Xcodeに加えてClaude Code、Cursor、ターミナルのビルドスクリプト、その他のMacアプリの通知も一括で管理したい場合や、バースト集約・オフライン再送キューを使いたい場合はNotiFerryが適しています。

Xcodeのビルド完了通知をApple Watchで受け取ることはできますか?

はい。通知がiPhoneのntfyアプリに届けば、iPhoneがロックされている間、iOSが自動的にApple Watchへ通知をミラーリングします。

ファウンディングリリース

XcodeのビルドもAIエージェントも、席を離れてiPhoneで確認。

7日間の無料トライアルは、テスト通知が実際にiPhoneへ届いたことを確認してから開始されます。その後は買い切りライセンス(€9.99・最大2台のMacで利用可能、サブスクリプションなし)で継続利用できます。購入後30日以内の全額返金保証付き(強行法規に基づく消費者の権利は影響を受けません)。

7日間無料トライアルをダウンロードまたは今すぐライセンスを購入 · €9.99
brew install --cask n2ctech/tap/notiferry
買い切り(サブスクなし) · 最大2台のMac · 定期的なオンラインライセンス認証