在 iOS 開發者的語境里,大家把 BT 和 BLE 當成兩種不同的藍牙技術在談——它們來自同一個 Bluetooth 規范,但面向的場景、協議棧乃至 Apple 提供的 API 都截然不同。
縮寫 | 全稱 / 技術名稱 | 規范層叫法 | iOS 支持現狀 | 典型用途 |
---|---|---|---|---|
BT | Bluetooth Classic(經典藍牙) 又叫 BR/EDR(Basic Rate / Enhanced Data Rate) | “Bluetooth BR/EDR” | iOS 僅對少數系統級 Profile(音頻、電話、HID)開放;應用若要主動通信,通常要走 ExternalAccessory 或 MFi 方案 | 連續音頻(AirPods)、車載電話、HID 鍵盤/手柄等 |
BLE | Bluetooth Low Energy(低功耗藍牙) 早期市場名 Bluetooth Smart | “Bluetooth LE” | iOS 從 iOS 5 起通過 CoreBluetooth 完整開放,允許 App 掃描、連接、收發數據 | 傳感器、智能穿戴、支付 Beacon、低功耗數據同步等 |
1. 技術差異一覽
維度 | BT(Classic) | BLE |
---|---|---|
頻道數 | 79(1 MHz) | 40(2 MHz,含 3 條主廣告信道) |
連接建立 | 100 ms-級,需功耗持續維持 | 3 ms-級握手,空閑時幾乎不耗電 |
典型吞吐 | 1–3 Mb/s,適合連續流 | 0.1–1 Mb/s,適合突發包 |
能耗模型 | “始終在線” | “睡眠→喚醒” |
Apple 文檔也明確區分 “Bluetooth Classic” 與 “Bluetooth Low Energy (BLE)” 并分別說明其安全模型與開發接口。(蘋果支持)
2. 在 iOS 里的開發接口
需求 | 推薦框架 / 方法 |
---|---|
與 BLE 設備(傳感器、燈控、手環…)通訊 | CoreBluetooth?—?完全支持掃描、廣播、GATT、L2CAP 等。(Apple Developer) |
與 BT Classic 設備自定義通訊 | 只有在外設通過 MFi 認證并使用 ExternalAccessory Framework 暴露串口 (EAAccessory / EASession) 時可由第三方 App 訪問;否則僅系統級 Profile 可用(例如音頻經 AVFoundation 、車載經 CallKit )。 |
3. 選型建議
- 要做 App-to-Device 數據同步、控制指令、周期測量 → 用 BLE + CoreBluetooth:功耗低、接口開放且無 MFi 門檻。
- 要做連續音頻或現成車載控制 → 系統已經通過 BT Classic 處理,不需也不能自己操作協議。
- 若 Legacy 設備只支持 BT Classic 且要自定義數據通道 → 必須采用 MFi/ExternalAccessory,且硬件需支持 Apple SPP(iAP2)或類串口 Profile。
簡而言之:
- BT = 經典藍牙(BR/EDR),在 iOS 上主要被系統用來做音頻等高帶寬、持續連接場景;
- BLE = 低功耗藍牙,專為間歇數據、傳感器與 IoT 設計,由 CoreBluetooth 向第三方完全開放。
區分清二者,有助于你在項目里選擇合適的硬件模塊、協議棧與 iOS API。