表題の通りです。
Swift初心者ですが、何卒お力添えをいただきたく質問させていただきます。
iPhoneとマイコンの間で、BLEを使って接続し、iPhone -> マイコン方向へ一方的に信号を送りつけたい(シリアル通信)と思っています。
まずは次に示すように、端末の周囲にあるペリフェラル(?)を検出する必要があるようです。
そこで次のようなコードを書いたのですが、周りにある端末が無数に検出されていってしまいます。
UUIDなどで絞り込みをかけたいと思うのですが、どのようにすれば良いのでしょうか。
swift
1import UIKit 2import CoreBluetooth 3 4class ViewController: UIViewController { 5 var myCentralManager: CBCentralManager! 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 myCentralManager = CBCentralManager(delegate: self, queue: nil) 10 } 11} 12 13extension ViewController: CBCentralManagerDelegate{ 14 //セントラルマネージャーの状態取得 15 func centralManagerDidUpdateState(_ central: CBCentralManager) { 16 if central.state == .poweredOn { 17 //ペリフェラルの検出デリゲートを呼ぶ 18 central.scanForPeripherals(withServices: nil, options: nil) 19 } 20 } 21 //ペリフェラル検出時に呼ばれる 22 func centralManager(_ central: CBCentralManager, 23 didDiscover peripheral: CBPeripheral, 24 advertisementData: [String : Any], 25 rssi RSSI: NSNumber) { 26 27 print("検出!") 28 } 29}
よろしくお願いいたします。
###環境
- Xcode12 + Swift
- iOS14.4 (iPhone7)
- MacOS BigSur
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。