Qu'est-ce que vous voulez faire est d'analyser tous les CBPeripheral
dans votre région. CBPeripheral
est la classe qui fait la diffusion de toute CBService
(s) que le périphérique peut faire de la publicité.
Pour rechercher ces périphériques, vous avez besoin d'une instance de CBCentralManager
. CBCentralManager
est la classe qui fait le balayage de vos périphériques.
Pour ce faire, vous devez instancier votre CBCentralManager
centralManager = CBCentralManager(delegate: self, queue: .main)
Une bonne idée est avant de numériser pour les périphériques de dire à votre CBCentralManager
que vous voulez seulement pour découvrir des périphériques uniques qu'une seule fois.
let options: [String: Any] = [CBCentralManagerScanOptionAllowDuplicatesKey:
NSNumber(value: false)]
Et quand vous dites à votre CBCentralManager
à analyser, ne précisent pas les services de la publicité CBPeripheral
(s). Au lieu de cela passez nil
pour ce paramètre pour indiquer que vous voulez découvrir tous les périphériques. L'appel ci-dessus commencera le balayage actuel des dispositifs Bluetooth dans la zone. Vous recevrez le rappel dans les méthodes CBCentralManagerDelegate au résultat de votre analyse.
Pour obtenir le nom des périphériques Bluetooth, simple regard sur le nom du CBPeripheral
(s) qui sont découverts. Pour ce faire, utilisez la méthode CBCentralManagerDelegate
didDiscover peripheral: CBPeripheral
.
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
print("Discovered \(peripheral.name ?? "")")
}