# iPhone 有簡訊 API 嗎？在 iOS 上取得簡訊

> 沒有，iOS 沒有讓 App 讀取你簡訊的公開 API。這裡說明 Apple 允許的做法，以及如何把 iPhone 簡訊以 JSON 格式送進你自己的程式碼。

最後更新：2026-10-24
標準 HTML 頁面：https://www.fwrdsms.com/zh-hant/blog/iphone-sms-api
Published: 2026-10-16

沒有，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 年的一則回覆](https://developer.apple.com/forums/thread/86268)講得很清楚：App 不被允許看到簡訊，甚至不能知道簡訊已經抵達。2025 年 10 月，一位 Apple 工程師[在論壇上表示](https://developer.apple.com/forums/thread/804040)，macOS 同樣沒有取得使用者簡訊的 API，所以登入你Apple 帳號的 Mac 也不是後門。

## TelephonyMessagingKit 呢？

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

[Apple 的文件](https://developer.apple.com/documentation/telephonymessagingkit)說，這個框架處理 iPhone 上的 SMS、MMS 和 RCS，但 App 需要特殊的授權，只有在使用者選它作為預設電信業者訊息 App 時才能運作，而且使用者需要歐盟的帳號，裝置也要在歐盟。對於要把[簡訊送進指令碼](https://www.fwrdsms.com/zh-hant/blog/sms-otp-codes-ci-automation-iphone)、資料庫或 AI 代理程式來說，它不是合適的工具。

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

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

Apple 的[在文字輸入視圖中啟用「密碼自動填寫」](https://developer.apple.com/documentation/security/enabling-password-autofill-on-a-text-input-view)指南，把 One-time code 列為內容類型，並說明可以從簡訊登入流程自動完成安全碼。在 UIKit 中，那就是 `textContentType = .oneTimeCode`。要讓你自己 App 的登入更順暢，這樣就夠了。

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

建立一個「捷徑」的「訊息」自動化操作，並加入 Fwrd 的動作，它會把每則符合條件的簡訊從 iPhone 以 JSON 格式 POST 到你的端點。Apple 的[訊息觸發器](https://support.apple.com/guide/shortcuts/communication-triggers-apdd711f9dff/ios)會在收到你加入的寄件人傳來的訊息，或含有你加入的詞組的訊息時執行。

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

1. **在 [Fwrd](https://apps.apple.com/app/apple-store/id6759069713?pt=128544281&ct=zht-blog-sms-api&mt=8) 中加入 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`：

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

沒有時間戳記。如果你在 Fwrd 的「設定」中開啟「附上寄件人」，並在「捷徑」裡 Fwrd 的動作上選擇「寄件人」，內容主體還會多一個 `sender` 欄位。同一則簡訊的每次嘗試都帶有相同的 `Idempotency-Key` 標頭，所以你可以丟棄重複的請求。15 秒內回傳任何 2xx 回應，都算已送達，重新導向則會被拒絕。端點這一側的完整說明，請見 [Webhook 指南](https://www.fwrdsms.com/zh-hant/guides/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](https://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](https://www.fwrdsms.com/zh-hant/iphone-sms-to-zapier-make-n8n)。

### iMessage 也算嗎？

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

### 要花多少錢？

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

## 繼續閱讀

- [把 iPhone 簡訊轉寄到 Webhook](https://www.fwrdsms.com/zh-hant/iphone-sms-to-webhook)
- [「捷徑」的 iPhone 訊息自動化操作（iOS 26 和 27）](https://www.fwrdsms.com/zh-hant/blog/iphone-shortcuts-message-automation)
