FwrdのロゴFwrdApp Storeでダウンロード

iPhoneにSMSのAPIはある?iOSでSMSを取り出す方法

Fwrd · · 更新:

いいえ、iPhoneにSMSの公開APIはありません。iOSでは、アプリが、SMSを読み取ることも、SMSが届いたことを知ることもできません。認められている方法は、Appleのショートカットアプリで「メッセージ」のオートメーションを一度作り、条件に合うSMSをアクションに渡すことです。Fwrdは、開発者向けのそのアクションです。SMSを、iPhoneからご自分のHTTPS Webhookへ、JSONで投稿します。

必要なもの: iOS 26以降のiPhone、ショートカットアプリ(iPhoneに最初から入っています)、JSONのPOSTを受け付けるHTTPSのエンドポイント。たとえば、ご自分のサーバーや、ZapierまたはMake、n8nのWebhookです。

iOSアプリはSMSを読み取れますか?

読み取れません。サードパーティのiOSアプリは、「メッセージ」の受信箱を読み取れず、SMSが届いたことも知らされません。iPhoneからSMSを取り出す方法は、すべて、本人があらかじめ設定したものを経由します。

Appleのデベロッパフォーラムにある2017年の返信は、はっきり述べています。アプリはSMSメッセージを見ることも、届いたことを知ることも許されていません。2025年10月には、Appleのエンジニアがフォーラムで、macOSにもユーザーのSMSメッセージに触れるAPIはないと述べました。そのため、Apple AccountでサインインしたMacは、裏口にはなりません。

TelephonyMessagingKitではどうですか?

TelephonyMessagingKitは実在しますが、「メッセージ」アプリの代わりに、通信事業者向けの既定のメッセージアプリになるアプリ専用で、EUでのみ使えます。普通のアプリがSMSを読み取るための方法ではありません。

Appleのドキュメントによると、このフレームワークはiPhoneのSMS、MMS、RCSを扱います。ただし、アプリには特別なエンタイトルメントが必要で、本人がそのアプリを通信事業者向けの既定のメッセージアプリに選んだときだけ動きます。さらに、本人がEUのアカウントを持ち、デバイスがEU内にある必要があります。スクリプト、データベース、AIエージェントでSMSを扱う用途には、向いていません。

では、アプリはSMSのコードをどう入力しているのですか?

メッセージを読むのではなく、AutoFillを使っています。iOSが届いたSMSにあるワンタイムコードを見つけ、キーボードの上に候補として表示します。アプリがコードを受け取るのは、本人がそれをタップしたときだけです。

Appleのテキスト入力ビューでパスワードのAutoFillを有効にするガイドは、One-time codeをコンテンツタイプの1つに挙げ、SMSのログインフローからセキュリティコードを自動入力できると説明しています。UIKitではtextContentType = .oneTimeCodeです。ご自分のアプリのログインを滑らかにするだけなら、これで足ります。

iPhoneのSMSを自分のコードに届けるには?

ショートカットで「メッセージ」のオートメーションを作り、Fwrdのアクションを追加します。Fwrdは、条件に合うSMSをiPhoneからエンドポイントへJSONで投稿します。Appleの「メッセージ」トリガーは、追加した差出人から、または追加したフレーズを含むメッセージが届いたときに実行されます。

以下の手順では、FwrdのWebhookの送り先を使います。

  1. FwrdでWebhookを追加します。 Fwrdを開き、「+」をタップして、Webhookを選びます。「設定」欄にHTTPSのアドレス全体を貼り付け、「テストメッセージを送信」をタップしてエンドポイントにフィールドを届け、保存します。

  2. 「メッセージ」のオートメーションを作成します。 iOS 27では、ショートカットアプリを開き、「ライブラリ」、「オートメーション」、「+」の順にタップします。「ショートカットを説明」が表示されたら、「編集」をタップします。「オートメーション」、「メッセージ」の順にタップします。iOS 26では、「オートメーション」タブを開き、「+」をタップして、「メッセージ」を選びます。

  3. 送るSMSを選びます。 「メッセージが次を含む」を選び(iOS 27では、「差出人」を「メッセージ」に変更します)、SMSに含まれる単語を入力します。例はcodeや「コード」です。スペースを1つだけ入力すると、スペースを含むすべてのSMSを送れます。

  4. 確認なしで実行されるようにします。 iOS 27では、トリガーの横の矢印をタップし、「実行前に確認」がオフになっていることを確認します。「ⓘ」>「プライバシー」で、「ロック中に実行を許可」がオンになっていることを確認します。iOS 26では、「すぐに実行」を選び、「次へ」、「新規ショートカットを作成」の順にタップします。

  5. Fwrdのアクションを追加します。 「転送」で検索し、Fwrdの「メッセージをすべての送り先に転送」を追加します。その「メッセージ」欄をタップし、「ショートカットの入力」を選びます(iOS 26では、「ショートカットの入力」、「メッセージ」の順)。戻るをタップして保存します(iOS 26では「完了」)。

  6. これで完了です。 単語を含むSMSが、iPhoneのロック中でも自動的にエンドポイントへ届きます。

JSONはどんな形ですか?

Fwrdは、SMSをContent-Type: application/jsonのPOSTでWebhookに送ります。本文には、届いたとおりのメッセージが、標準では2回入ります。MattermostとRocket.Chatがtextを読むためです。

{
  "content": "Your code is 482913",
  "text": "Your code is 482913"
}

タイムスタンプはありません。Fwrdの「設定」で「差出人を含める」をオンにし、ショートカットのFwrdのアクションで「差出人」を選ぶと、本文にsenderフィールドも加わります。同じSMSのリクエストは、再送でも同じIdempotency-Keyヘッダを持つので、重複を捨てられます。15秒以内の2xxの応答は、配信できたものとして扱われ、リダイレクトは拒否されます。エンドポイント側の詳細は、Webhookのガイドにまとめています。

方法の比較

方法 受信したSMSを読める? 使える人
公開のSMS API iOSには存在しない 誰も使えない
TelephonyMessagingKit 読める。既定のメッセージアプリとして 通信事業者向けのメッセージアプリ。EUのみ
パスワードのAutoFill コードだけ。本人がタップしたとき どのアプリのログイン欄でも
ショートカット+Fwrd 読める。オートメーションに合うSMS iOS 26以降の誰でも

Fwrdが、その下ごしらえを代わりに行います。

  • アカウントは不要です。 Fwrdにサインインはなく、Fwrdのサーバーもありません。SMSはiPhoneからURLへ直接届きます。
  • フィルタ。 Webhookごとに、選んだ単語を含むSMS、認証コードらしいSMS、特定の時間帯のSMSだけを残せます。
  • 再試行とシークレットの管理。 送信がタイムアウトしたり、429や5xxを返されたり、接続が切れたりすると、Fwrdは最大2回まで再試行します。URLは、ショートカットの中ではなく、iPhoneのキーチェーンに保存されます。
  • 8つの送り先。 同じアクションで、メール、別の電話またはiMessage、WhatsApp、Discord、Slack、Microsoft Teams、Telegramにも送れます。

SMSゲートウェイとしてiPhoneにできないこと

iPhoneを、サーバー用のSMSゲートウェイとして使うことはできません。iOSには、サーバーがiPhone経由でSMSを送れるAPIがないため、Fwrdは受信専用です。SMSはiPhoneで受け取り、エンドポイントへ送り出します。

  • APIからの送信。 APIからSMSを送るゲートウェイアプリは、Androidで動きます。textbee.devはFAQで、現時点ではAndroidデバイスでのみ動作すると書いています(2026年10月16日時点)。
  • ルールが必要です。 オートメーションが対象にするのは、選んだ単語を含むSMSか、連絡先にいる人からのSMSです。スペース1つで、スペースを含むすべてのSMSに一致します。
  • iPhoneの電源が入っていて、オンラインである必要があります。 SMSを受け取るiPhoneは、届いたときに電源が入り、Wi-Fiまたはモバイルデータ通信につながっている必要があります。再起動後は、一度ロックを解除するまで転送を待ちます。
  • テキストのみです。 写真は転送されません。返信は、これまでどおりiPhone本体から送ります。

よくある質問

iPhoneにすでにある古いSMSを読み取れますか?

読み取れません。メッセージのオートメーションは、設定した後に届いた新着のSMSに対してだけ動きます。

Zapier、Make、n8nと使えますか?

はい。ZapierのCatch Hook、Makeのカスタムwebhook、n8nのWebhookノードの本番URLをFwrdのWebhookの送り先に貼り付ければ、条件に合うSMSごとにワークフローが始まります。手順はiPhoneのSMSをZapier、Make、n8nに送るにあります。

iMessageも対象になりますか?

はい。メッセージのオートメーションは、メッセージアプリに届くメッセージで動くので、iMessageも対象です。条件に合うiMessageは、SMSと同じようにWebhookへ届きます。

費用はいくらかかりますか?

Fwrdは毎月15件まで無料で、1通のSMSは、いくつの送り先に届いても1件として数えます。Fwrd Proなら上限がなくなり、米国での料金は月額$4.99、または年額$29.99です。

iPhoneのSMSをJSONで受け取りたいですか?

Fwrdは、条件に合うSMSをiPhoneから、ご自分のHTTPS Webhookへ投稿します。アカウントは不要で、Fwrdのサーバーも通りません。毎月15件の転送は無料です。

毎月15件まで無料。Fwrd Proなら、転送とフィルタの上限がなくなり、「転送しない」リストも使えます。料金は月額$4.99、または年額$29.99で、年額プランには対象の方向けに7日間の無料トライアルがあります。

App Storeでダウンロード

iPhone · iOS 26以降