CLIワンライナー · デスクトップ通知転送

MacからiPhoneへ通知を送る方法(ワンライナー・通知センター転送)

自分のシェルスクリプトからiPhoneを鳴らしたい場合と、既存のMacアプリの通知をそのままiPhoneへ飛ばしたい場合では、最適な方法が異なります。最短で動くコマンド例と、スクリプト不要の転送方法をまとめました。

brew install --cask n2ctech/tap/notiferry

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

要点まとめ

  • 自作スクリプトやCLIコマンドなら、curl -d "メッセージ" https://ntfy.sh/your-topic の1行でiPhoneへプッシュ通知を送れます。
  • スクリプトフックのないMacアプリ(Cursor、Codex、Xcode、Final Cut Proなど)は、NotiFerryでmacOS通知センターから自動転送します。
  • どちらもiPhone側では無料のオープンソースアプリ「ntfy」を使って受信できます。

通知元によって最適な方法は2つに分かれる

macOSには「iPhoneを鳴らす」ための標準コマンドがないため、どの方法でもプッシュ配信サービス(ntfyなど)を経由します。選び方はシンプルです。

  • 自分で実行するスクリプトやCLIコマンドの場合: コマンドの末尾に curl を1行追加するだけで、無料でiPhoneへ通知を送れます。
  • スクリプトを仕込めないデスクトップアプリの場合: Cursor、Mac版Codexアプリ、Final Cut Pro、Finder、サードパーティ製GUIアプリなど、内部の処理にフックできないアプリは、macOS通知センターに出た通知をNotiFerryでiPhoneへ転送します。

方法1:スクリプトから1行のcurlでntfyへ送る(無料)

iPhoneにApp Storeから無料のntfyアプリをインストールし、推測されにくいランダムなトピック名を購読します。あとはMacのターミナルから curl を実行するだけです。

# 最小構成:1行でiPhoneのntfyアプリへプッシュ通知を送る
curl -d "バックアップが完了しました" https://ntfy.sh/your-private-topic

# タイトルと優先度(high)を付ける場合
curl \
  -H "Title: リリースビルド完了" \
  -H "Priority: high" \
  -d "すべてのテストが通過し、アーカイブが生成されました" \
  https://ntfy.sh/your-private-topic

毎回 curl を書くのが面倒な場合は、~/.zshrc にラッパー関数を登録しておくと notify コマンド名 だけで終了ステータス付きの通知を送れます。

# ~/.zshrc に追加:任意のコマンドの完了と終了コードをiPhoneへ通知
notify() {
  "$@"
  local code=$?
  curl -s -H "Title: $1 (exit $code)" -d "Macでの処理が完了しました" https://ntfy.sh/your-private-topic >/dev/null
  return $code
}

# 使い方
notify make release

方法2:GUIアプリの通知をNotiFerryで自動転送する

デスクトップアプリの多くはスクリプトフックを持っていませんが、処理が終わったときや確認が必要なときにmacOS通知センターへバナーを出します。

NotiFerryを使うと、macOS通知センターのデータベース(group.com.apple.usernoted)を読み取り専用で監視し、選択したアプリの新着通知を自動的にiPhoneのntfyトピックへ転送できます。

  • アプリごとの選択と3段階のプライバシーモード: 必要なアプリだけをオンにし、全文表示・タイトルのみ・汎用通知から選べます。
  • バースト集約と10分ルール: 短時間の大量通知を自動でまとめ、10分以上経過した古い未送信通知は破棄して遅延スパムを防ぎます。
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でのテスト受信確認。

よくある質問

Appleの「ショートカット.app」でMacからiPhoneへ通知を送れますか?

ショートカットの「通知を表示」アクションは、そのショートカットを実行したデバイス(Mac自身)にしか通知を表示しません。iPhoneを鳴らすには、ショートカット内から「URLの内容を取得」アクションでntfyやPushoverのURLへPOSTする必要があります。

ntfy.shはアカウント登録なしで無料で使えますか?

はい。パブリックの https://ntfy.sh はアカウント登録不要・無料で利用できます。トピック名がそのまま購読キーになるため、UUIDなどを組み合わせた推測不可能なトピック名を使うか、セルフホストサーバーでBearerトークン認証を設定してください。

curlスクリプトとNotiFerryを同じiPhoneのntfyアプリで併用できますか?

はい。同じトピック(または用途別の複数トピック)をiPhoneのntfyアプリで購読できるため、自作スクリプトからの通知とMacアプリの転送通知を1つのアプリで一元管理できます。

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

スクリプトが書けないMacアプリの通知も、そのままiPhoneへ。

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

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