swift 3-ios:蓝牙外围设备
我正在尝试使用iphone通过蓝牙查看外围设备 事实上,我一直在写这段代码swift 3-ios:蓝牙外围设备,ios,swift,bluetooth,bluetooth-lowenergy,cbperipheral,Ios,Swift,Bluetooth,Bluetooth Lowenergy,Cbperipheral,我正在尝试使用iphone通过蓝牙查看外围设备 事实上,我一直在写这段代码 class BlueT: ViewController, CBCentralManagerDelegate, CBPeripheralDelegate{ var centralManager: CBCentralManager! var peripheral: CBPeripheral! let BEAN_NAME = "Az200" let BEAN_SCRATCH_UUID = CBUUID(string: "A
class BlueT: ViewController, CBCentralManagerDelegate, CBPeripheralDelegate{
var centralManager: CBCentralManager!
var peripheral: CBPeripheral!
let BEAN_NAME = "Az200"
let BEAN_SCRATCH_UUID =
CBUUID(string: "A159EA45-A794-27F4-8947-1C0A5E3C70B0")
let BEAN_SERVICE_UUID =
CBUUID(string: "A159EA45-A794-27F4-8947-1C0A5E3C70B0")
override func viewDidLoad() {
super.viewDidLoad()
centralManager = CBCentralManager(delegate: self, queue: nil)
}
func centralManagerDidUpdateState(_ central: CBCentralManager) {
if #available(iOS 10.0, *){
switch (central.state) {
case CBManagerState.poweredOff:
print("CBCentralManagerState.PoweredOff")
case CBManagerState.unauthorized:
print("CBCentralManagerState.Unauthorized")
break
case CBManagerState.unknown:
print("CBCentralManagerState.Unknown")
break
case CBManagerState.poweredOn:
print("CBCentralManagerState.PoweredOn")
centralManager.scanForPeripherals(withServices: nil, options: nil)
case CBManagerState.resetting:
print("CBCentralManagerState.Resetting")
case CBManagerState.unsupported:
print("CBCentralManagerState.Unsupported")
break
}}else{
switch central.state.rawValue{
case 0:
print("CBCentralManagerState.Unknown")
break
case 1:
print("CBCentralManagerState.Resetting")
case 2:
print("CBCentralManagerState.Unsupported")
break
case 3:
print("This app is not authorised to use Bluetooth low energy")
break
case 4:
print("Bluetooth is currently powered off.")
case 5:
print("Bluetooth is currently powered on and available to use.")
centralManager.scanForPeripherals(withServices: nil, options: nil)
default:break
}}}
func centralManager(
central: CBCentralManager,
didDiscoverPeripheral peripheral: CBPeripheral,
advertisementData: [String : AnyObject],
RSSI: NSNumber) {
let device = (advertisementData as NSDictionary)
.object(forKey: CBAdvertisementDataLocalNameKey)
as? NSString
if device?.contains(BEAN_NAME) == true {
self.centralManager.stopScan()
self.peripheral = peripheral
self.peripheral.delegate = self
print("peripheral: \(peripheral)")
} }
}
所以实际上,输出是
“蓝牙当前已通电,可供使用。”
但是打印(“外围设备:(外围设备)”)没有出现
那么,我该怎么做才能看到我的外设呢?我有目标c中连接BLE到iphone的完整代码。看看这个问题:外设是广告吗?LightBlue应用程序能看到吗?是的,事实上,在设置->蓝牙时,我看到我的设备已经连接@paulw11。我如何检查此功能是否工作?“self.centralManager.scanForPeripherals(带有服务:nil,选项:nil)”@Paulw11为什么你认为我的代码不能达到didiscoverperipheral的功能?