記事ディレクトリ
チャットGPTの回答
システムまたは他のアプリの接続されている Bluetooth デバイスを取得するには、CoreBluetooth フレームワークが提供する CBCentralManager クラスを使用できます。Swift 5 を使用したサンプルコードは次のとおりです。
import CoreBluetooth
class BluetoothManager: NSObject, CBCentralManagerDelegate {
var centralManager: CBCentralManager!
override init() {
super.init()
centralManager = CBCentralManager(delegate: self, queue: nil)
}
func centralManagerDidUpdateState(_ central: CBCentralManager) {
if central.state == .poweredOn {
// 扫描已连接的外设
let connectedPeripherals = centralManager.retrieveConnectedPeripherals(withServices: [/* 服务UUID */])
for peripheral in connectedPeripherals {
print(peripheral.name)
// 如果需要,你可以保存已连接的外设以供后续使用
}
}
}
}
上の例では、CBCentralManager オブジェクトが初期化されるときに、Bluetooth Central Manager イベント通知を受信するためのプロキシ オブジェクトを提供する必要があります。次に、Bluetooth セントラル マネージャーの状態が更新されるときに呼び出される、centralManagerDidUpdateState メソッドを実装できます。このメソッドでは、retrieveConnectedPeripherals(withServices:) メソッドを使用して、接続されている周辺機器のリストを取得できます。対応するサービスの接続された周辺機器を取得できるように、スキャンするサービスの UUID を指定する必要があることに注意してください。
私のインスタンス
参考ブログ
ios Bluetooth スキャン指定デバイス scanForPeripheralsWithServices (他のデバイスを除外し、自分のデバイスのみを残す) - csdn
iOS Bluetooth 開発接続システム、または接続され、他の APP と正常にペアリングされた Bluetooth デバイス - CSDN