技能誌

【開發筆記】跟藍牙手環談戀愛:iOS 藍牙串接初體驗

資訊/科技
奧提斯的頭像
奧提斯
更新日:2025年4月22日

前言:年前剛好在陰錯陽差之下,獲得了一支簡易的藍牙手環,參考了網路上的資料,想說試試看串接並開發App,本來我以為這只是一場純純的技術戀愛;結果一開始連個「哈囉」都說不好。身為一個 iOS 工程師,今天就來分享並順手紀錄我和藍牙手環(Bluetooth Bracelet)的初次邂逅,如何從陌生人變成... 至少能正常溝通的朋友吧 😅。




使用到的技術

  • CoreBluetooth:Apple 提供的藍牙框架,負責掃描、連線、收發資料。
  • CBPeripheral / CBCentralManager:一個是手環代表(Peripheral),一個是你的手機代表(Central)。
  • UUID、Service、Characteristic:用來辨認手環提供的功能跟數據。




初學者最常卡關的點

  1. 藍牙沒打開(經典!)
  2. 手機沒開藍牙,還在怪手環怎麼不回你訊息,這就像你把手機關機卻還想等人回你 LINE。
  3. 找不到服務(Service)和特徵值(Characteristic)
  4. 手環的每個功能都藏在不同的「服務」和「特徵值」裡,如果你沒有正確找出它們,就像對方只會日文,你只會法文,怎麼聊?
  5. 連線後沒反應
  6. 藍牙手環不會自己開口說話,要你主動寫 code 去讀、寫特徵值,它才會「欸?原來你在叫我~」。




怎麼克服?


  • 一步一步用 CBCentralManagerDelegate 抓住裝置出現的瞬間。
  • 連上後馬上探索服務,再探索特徵值(peripheral.discoverServices()discoverCharacteristics())。
  • 利用 Xcode console 印出所有 service/characteristic UUID,確認你讀的是正確的那一個。
  • 手環廠商通常會提供規格文件(Protocol),那就是你的翻譯機。




小結


串接藍牙手環其實就像交朋友,一開始大家都尷尬,但只要你肯主動一點、了解對方的語言(UUID 與特徵值),慢慢就能聊起來,甚至每天同步健康數據也不嫌煩。

未來想挑戰寫入資料、背景連線或通知功能的話,那又是另一場戀愛故事了(?)。



如果你對 CoreBluetooth 或藍牙開發有興趣,不妨試試用 Xcode 開個 Playground 練練手。祝你和手環交往順利,不要被 silent treatment 啦~

iOS App 客製化 上架。
iOS 軟體開發、修改、維護既有App
IT/程式 > iPhone/iPad/Mac應用程式開發
$ 10000
iOS App 客製化 上架。
$ 10000
iOS App 客製化 上架。
0 / 1000
回到文章列表