Post not yet marked as solved
Post marked as unsolved with 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