【发布时间】:2017-10-04 08:42:36
【问题描述】:
我正在研究 Core Bluetooth 框架,并为此做了一个测试项目以供学习:
class ViewController: UIViewController,CBCentralManagerDelegate,CBPeripheralDelegate {
var centralManager: CBCentralManager = CBCentralManager()
var peripheral: CBPeripheral? = nil
override func viewDidLoad()
{
super.viewDidLoad()
centralManager = CBCentralManager(delegate: self, queue: nil)
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
}
func centralManagerDidUpdateState(_ central: CBCentralManager)
{
central.scanForPeripherals(withServices: nil, options: nil)
}
@available(iOS 5.0, *)
public func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber)
{
let device = (advertisementData as NSDictionary)
.object(forKey: CBAdvertisementDataLocalNameKey)
as? NSString
let isMyIphone = device?.contains("iPhone")
}
}
首先我想看看我周围的蓝牙名称,因此我有 2 部 iPhone。 我用于执行此“应用程序”进行扫描,我想查看另一部 iPhone 的名称(在蓝牙设置中名称为“iPhone”),但是当我开始扫描时,调用了“didDiscover”方法但设备常数为零。 为什么?我错了什么?
【问题讨论】:
标签: ios iphone bluetooth core-bluetooth