3***@qq.com
3***@qq.com
  • 发布:2024-06-05 10:52
  • 更新:2024-06-05 10:52
  • 阅读:39

uts swift extension 如何写

分类:uts
//MARK: -- 中心管理器的代理  
extension LLBlueTooth : CBCentralManagerDelegate{  

    // MARK: 检查运行这个App的设备是不是支持BLE。  
    func centralManagerDidUpdateState(_ central: CBCentralManager){  

        if #available(iOS 10.0, *) {  
            switch central.state {  

            case CBManagerState.poweredOn:  
                print("蓝牙打开")  

            case CBManagerState.unauthorized:  
                print("没有蓝牙功能")  

            case CBManagerState.poweredOff:  
                print("蓝牙关闭")  

            default:  
                print("未知状态")  
            }  
        }  
        // 手机蓝牙状态发生变化,可以发送通知出去。提示用户  

    }  

    // 开始扫描之后会扫描到蓝牙设备,扫描到之后走到这个代理方法  
    // MARK: 中心管理器扫描到了设备  

    func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {  

        //  在这个地方可以判读是不是自己本公司的设备,这个是根据设备的名称过滤的  
        guard peripheral.name != nil , peripheral.name!.contains("*****") else {  
            return  
        }  

        //  这里判断重复,加到devielist中。发出通知。  

    }  

    // MARK: 连接外设成功,开始发现服务  
    func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral){  

        // 设置代理  
        peripheral.delegate = self  

        // 开始发现服务  
        peripheral.discoverServices(nil)  

        // 保存当前连接设备  
        self.peripheral = peripheral  

        // 这里可以发通知出去告诉设备连接界面连接成功  

    }  

    // MARK: 连接外设失败  
    func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {  

        // 这里可以发通知出去告诉设备连接界面连接失败  

    }  

    // MARK: 连接丢失  
    func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {  
        NotificationCenter.default.post(name: Notification.Name(rawValue: "DidDisConnectPeriphernalNotification"), object: nil, userInfo: ["deviceList": self.deviceList as AnyObject])  

        // 这里可以发通知出去告诉设备连接界面连接丢失  

    }  

}
2024-06-05 10:52 负责人:无 分享
已邀请:

要回复问题请先登录注册