Fwrd 標誌Fwrd在 App Store 下載

iPhone 有簡訊 API 嗎?在 iOS 上取得簡訊

作者:Fwrd · · 更新於

沒有,iPhone 沒有公開的簡訊 API:iOS 不允許 App 讀取你的簡訊,甚至不讓它知道有簡訊抵達。受支援的做法,是在 Apple 的「捷徑」App 中建立一次「訊息」自動化操作,由它把每則符合條件的簡訊交給一個動作。Fwrd 就是給開發者用的那個動作:它會把每則簡訊從 iPhone 以 JSON 格式 POST 到你自己的 HTTPS Webhook。

你需要: 一支執行 iOS 26 或以上版本的 iPhone、「捷徑」App(手機裡本來就有),以及一個接受 JSON POST 的 HTTPS 端點,例如你自己的伺服器,或 Zapier、Make、n8n 的 Webhook。

iOS App 能讀取簡訊嗎?

不能。第三方 iOS App 無法讀取「訊息」收件匣,也不會被告知有簡訊抵達。從 iPhone 取出簡訊的每一種方式,都要經過使用者刻意設定的東西。

Apple 開發者論壇 2017 年的一則回覆講得很清楚:App 不被允許看到簡訊,甚至不能知道簡訊已經抵達。2025 年 10 月,一位 Apple 工程師在論壇上表示,macOS 同樣沒有取得使用者簡訊的 API,所以登入你Apple 帳號的 Mac 也不是後門。

TelephonyMessagingKit 呢?

TelephonyMessagingKit 確實存在,但只適用於取代「訊息」成為預設電信業者訊息 App 的 App,而且僅限歐盟。它不是讓一般 App 讀取你簡訊的辦法。

Apple 的文件說,這個框架處理 iPhone 上的 SMS、MMS 和 RCS,但 App 需要特殊的授權,只有在使用者選它作為預設電信業者訊息 App 時才能運作,而且使用者需要歐盟的帳號,裝置也要在歐盟。對於要把簡訊送進指令碼、資料庫或 AI 代理程式來說,它不是合適的工具。

那 App 是怎麼填入簡訊驗證碼的?

透過「自動填寫」,而不是讀取訊息。iOS 會在收到的簡訊中找出一次性驗證碼,並顯示在鍵盤上方;使用者點一下它之後,App 才會收到驗證碼。

Apple 的在文字輸入視圖中啟用「密碼自動填寫」指南,把 One-time code 列為內容類型,並說明可以從簡訊登入流程自動完成安全碼。在 UIKit 中,那就是 textContentType = .oneTimeCode。要讓你自己 App 的登入更順暢,這樣就夠了。

如何把 iPhone 簡訊送進你自己的程式碼?

建立一個「捷徑」的「訊息」自動化操作,並加入 Fwrd 的動作,它會把每則符合條件的簡訊從 iPhone 以 JSON 格式 POST 到你的端點。Apple 的訊息觸發器會在收到你加入的寄件人傳來的訊息,或含有你加入的詞組的訊息時執行。

以下步驟使用 Fwrd 的 Webhook 轉寄目標:

  1. 在 Fwrd 中加入 Webhook。 打開 Fwrd,點一下 +,選擇 Webhook。把你完整的 HTTPS 位址貼到「設定」欄位,點一下「傳送測試訊息」,讓你的端點看到這些欄位,然後儲存。

  2. 建立「訊息」自動化操作。 在 iOS 27 上,打開「捷徑」,點一下「資料庫」,再點一下「自動化」,然後點一下 +。如果看到「描述捷徑」,請點一下「編輯」。點一下「自動化操作」,再點一下「訊息」。在 iOS 26 上,打開「自動化」標籤頁,點一下 +,然後選擇「訊息」。

  3. 選擇要傳送哪些簡訊。 選擇「訊息包含」(在 iOS 27 上,把「寄件人」改為「訊息」),然後輸入你的簡訊裡會出現的字詞,例如 code。或者輸入一個空格,傳送任何含空格的簡訊。

  4. 讓它無需詢問便自動執行。 在 iOS 27 上,點一下觸發器旁邊的箭頭,確認「執行前確認」已關閉。在 ⓘ 底下的「隱私權」中,確認「鎖定時允許執行」已開啟。在 iOS 26 上,選擇「立即執行」,然後點一下「下一步」和「新增捷徑」。

  5. 加入 Fwrd 的動作。 搜尋「轉寄」,加入 Fwrd 的「轉寄訊息到所有轉寄目標」。點一下它的「訊息」欄位,選擇「捷徑輸入」(在 iOS 26 上,依序選擇「捷徑輸入」和「訊息」)。點一下返回即可儲存(在 iOS 26 上點一下「完成」)。

  6. 這樣就完成了。 含有你的字詞的新簡訊,現在會自動送到你的端點,iPhone 解鎖或鎖定時都一樣。

JSON 長什麼樣子?

Fwrd 會把每則簡訊以 POST 傳送到你的 Webhook,標頭為 Content-Type: application/json。預設的內容主體會把訊息原封不動放進去兩次,因為 Mattermost 和 Rocket.Chat 讀取的是 text:

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

沒有時間戳記。如果你在 Fwrd 的「設定」中開啟「附上寄件人」,並在「捷徑」裡 Fwrd 的動作上選擇「寄件人」,內容主體還會多一個 sender 欄位。同一則簡訊的每次嘗試都帶有相同的 Idempotency-Key 標頭,所以你可以丟棄重複的請求。15 秒內回傳任何 2xx 回應,都算已送達,重新導向則會被拒絕。端點這一側的完整說明,請見 Webhook 指南。

各種做法一覽

做法 能讀取收到的簡訊嗎? 誰能用
公開的簡訊 API iOS 上不存在 沒有人
TelephonyMessagingKit 能,以預設訊息 App 的身分 電信業者訊息 App,僅限歐盟
密碼自動填寫 只有驗證碼,而且要使用者點一下 任何 App 的登入欄位
「捷徑」+ Fwrd 能,符合你自動化操作的簡訊 iOS 26 或以上版本的任何人

Fwrd 幫你處理繁瑣的串接:

  • 不需要帳號。 Fwrd 沒有登入,也沒有 Fwrd 伺服器;每則簡訊都從你的 iPhone 直接送到你的 URL。
  • 篩選條件。 每個 Webhook 都可以只保留含有你所選字詞的簡訊、看起來像驗證碼的簡訊,或特定時段的簡訊。
  • 重試和機密都幫你處理好。 如果傳送逾時、遇到 429 或 5xx,或連線中斷,Fwrd 會再試,最多兩次,並把你的 URL 保存在 iPhone 的鑰匙圈,而不是捷徑裡。
  • 八個轉寄目標。 同一個動作也涵蓋電子郵件、另一支手機或 iMessage、WhatsApp、Discord、Slack、Microsoft Teams 和 Telegram。

iPhone 無法當作簡訊閘道的原因

iPhone 無法成為你伺服器的簡訊閘道。iOS 沒有讓伺服器透過它傳送簡訊的 API,所以 Fwrd 只負責接收:簡訊在 iPhone 上進來,再送出到你的端點。

  • 從 API 傳送。 能從 API 傳送簡訊的閘道 App 都在 Android 上執行;textbee.dev 在它的常見問題中說,目前只支援 Android 裝置(2026 年 10 月 16 日查閱)。
  • 必須有規則。 自動化操作只處理含有你挑選字詞的簡訊,或你「聯絡人」裡的人傳來的簡訊。一個空格能符合任何含空格的簡訊。
  • 手機保持開機並連上網路。 接收簡訊的 iPhone 在簡訊抵達時必須開機,並連上 Wi-Fi 或行動數據。重新啟動後,轉寄會等到你解鎖一次才繼續。
  • 只有文字。 圖片不會送過去,回覆仍然要從 iPhone 本身傳出。

常見問題

我可以讀取 iPhone 上已有的舊簡訊嗎?

不行。「訊息」自動化操作只會對你設定之後抵達的新簡訊執行。

它能搭配 Zapier、Make 或 n8n 使用嗎?

可以。把 Zapier 的 catch hook、Make 的自訂 Webhook,或 n8n Webhook 節點的正式 URL,貼到 Fwrd 的 Webhook 轉寄目標,每則符合條件的簡訊就會啟動你的工作流程。每一種的步驟,請見把 iPhone 簡訊傳送到 Zapier、Make 或 n8n。

iMessage 也算嗎?

算。「訊息」自動化操作會對抵達「訊息」App 的訊息執行,iMessage 也包含在內,所以符合條件的 iMessage 會和簡訊一樣送到你的 Webhook。

要花多少錢?

Fwrd 每月有 15 則免費轉寄,同一則簡訊不論轉寄到幾個轉寄目標,都只算一次。Fwrd Pro 可取消次數限制,每月 $4.99 或每年 $29.99,均為美國售價,以美元計。

想把 iPhone 簡訊變成 JSON 嗎?

Fwrd 會把每則符合條件的簡訊從你的 iPhone POST 到你自己的 HTTPS Webhook,沒有帳號,中間也沒有 Fwrd 伺服器。每月有 15 則免費轉寄。

每月 15 則免費轉寄。Fwrd Pro 移除轉寄和篩選條件的上限,並新增「永不轉寄」清單,每月 $4.99 或每年 $29.99,年度方案為符合資格的客戶提供 7 天免費試用。

在 App Store 下載

iPhone · iOS 26 或以上版本