Posts

Post not yet marked as solved
0 Replies
618 Views
import UIKit import CoreBluetooth class ViewController: UIViewController,CBCentralManagerDelegate,UITableViewDelegate,UITableViewDataSource { //vad dfdf: CBPeripheral? var centeralManger:CBCentralManager? var peripherals = Array< CBPeripheral >() var stingapotions = Array<[String:Any] >() let opts = [CBAdvertisementDataLocalNameKey:true] @IBOutlet weak var tblBlueTooth: UITableView! override func viewDidLoad() { super.viewDidLoad() tblBlueTooth.delegate = self; tblBlueTooth.dataSource = self; centeralManger = CBCentralManager(delegate: self, queue: DispatchQueue.main, options: opts) // self.centeralManger?.scanForPeripherals(withServices: nil, options: opts) //centeralManger.sc // Do any additional setup after loading the view. } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { var cell:UITableViewCell! cell = self.tblBlueTooth.dequeueReusableCell(withIdentifier: "cell") if cell == nil { cell = UITableViewCell(style: .default, reuseIdentifier: "cell") } let peripheral = peripherals[indexPath.row] let peripheral1 = stingapotions [indexPath.row] debugPrint("name:"+(peripheral.name ?? "")) debugPrint(peripheral.description) // debugPrint(peripheral1.) cell.textLabel?.text = peripheral.name //cell.detailTextLabel?.text = peripheral.state return cell } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return peripherals.count } func centralManagerDidUpdateState(_ central: CBCentralManager) { switch central.state { case .unauthorized: break; case.unknown: debugPrint("unknown") break case.unsupported: debugPrint("unsupported") break case.poweredOn: debugPrint("poweredOn") scanForNewDevice() break case.poweredOff: debugPrint("poweredOff") break case.resetting: debugPrint("resetting") break @unknown default: break } } func UpdateData() -> Void { Timer.scheduledTimer(withTimeInterval: 10, repeats: true) { timer in //self.centeralManger?.stopScan() self.tblBlueTooth.reloadData() timer.invalidate() } } func scanForNewDevice() -> Void { self.centeralManger?.scanForPeripherals(withServices:.none,options: opts) } func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) { peripherals.append(peripheral); stingapotions.append(advertisementData); // central.connect(peripheral, options: nil) debugPrint(advertisementData.description) debugPrint(advertisementData["kCBAdvDataLocalName"] ?? "") if peripheral.name == "kamal's iPhone" { self.centeralManger?.connect(peripheral, options: .none) } UpdateData() } func centralManager(_ central: CBCentralManager, connectionEventDidOccur event: CBConnectionEvent, for peripheral: CBPeripheral) { } func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) { } func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) { } func centralManager(_ central: CBCentralManager, didUpdateANCSAuthorizationFor peripheral: CBPeripheral) { } // func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : Any]) { // // } func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) { } }This repsone i am getting[\"kCBAdvDataTimestamp\": 604135293.900358, \"kCBAdvDataIsConnectable\": 0, \"kCBAdvDataServiceUUIDs\": <__NSArrayM 0x2801a08a0>(\nCBBFE0E1-F7F3-4206-84E0-84CBB3D09DFC\n)\n]""""[\"kCBAdvDataIsConnectable\": 0, \"kCBAdvDataTimestamp\": 604135294.082067, \"kCBAdvDataManufacturerData\": <06000109 20022ea5 08f7a8e9 51e99fab 038b277e 557c93e4 7dc3dec1 26>]""""[\"kCBAdvDataTimestamp\": 604135294.312578, \"kCBAdvDataIsConnectable\": 0, \"kCBAdvDataManufacturerData\": <06000109 20026947 5ee3ccd6 8b185f86 6c326828 b5d9942b b0f3b14c 4d>]""""name:""<CBPeripheral: 0x283ec5220, identifier = B9ACABE9-0B0B-07A7-EC6D-19E23F067484, name = (null), state = disconnected>""name:""<CBPeripheral: 0x283ec0640, identifier = 648FB10A-B9C8-7781-F2BF-259B33A54CD4, name = (null), state = disconnected>"kinldy help me to get peripheral.name .Thanks in Advance
Posted
by kamal90.
Last updated
.