ios - 蓝牙设备名称未显示(给空)
问题描述
我希望你做得很好,我遇到一个问题,当我搜索蓝牙设备时,我得到了一些带有名称的设备,但大多数设备没有提供它们的名称,而这些设备在 Iphone 的蓝牙中提供了它们的名称,我尝试了一些解决方案
1-首先连接到设备,然后在委托(peripheralDidUpdateName)中获取名称,在此我得到少数设备的响应,而其他设备卡在连接状态 2-我试图搜索有一些延迟的设备,所以我可以找到名称但仍然陷入同一个问题
extension LandingPage : CBCentralManagerDelegate , CBPeripheralManagerDelegate {
func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch (central.state) {
case .poweredOff :
print("bluetooth is off ")
self.mainPeripheral.removeAll()
case .poweredOn :
print("bluetooth is on ")
manager?.scanForPeripherals(withServices: nil, options: nil)
}
}
return
实际结果 :
<CBPeripheral: 0x282d090e0, identifier = D94CC0E6-0340-8406-4688-C38D593F3201, name = (null), state = disconnected>
<CBPeripheral: 0x282d0d040, identifier = 04F5A632-3FBE-47A6-C6A6-2DDF9975184C, name = (null), state = disconnected>
<CBPeripheral: 0x282d0d040, identifier = CE0FD194-7E7D-4004-C50B-049C2958F495, name = (null), state = disconnected>
<CBPeripheral: 0x282d0d040, identifier = E780781F-7D6B-8052-9743-ECFEB5C534C8, name = (null), state = disconnected>
预期的:
<CBPeripheral: 0x282d0c0a0, identifier = 803732A6-31F9-A740-EC6A-8C9E3CDE8F71, name = Lefun, state = disconnected>
<CBPeripheral: 0x282d0d040, identifier = 6C19BC9F-1891-82DE-51D6-0C0E371F2E03, name = LH719, state = disconnected>
解决方案
推荐阅读
- linux - 按文件条目控制循环的 Bash 代码
- android - 如何将Android状态栏背景颜色设置为白色
- angular - 测试来自 Angular Reactive 表单的提交数据
- c++ - 为什么这个嵌套模板推导会失败?
- html - 汉堡包下拉菜单未在 ie11 中显示
- xamarin.android - 如何创建幻灯片菜单 xamarin mono
- amazon-web-services - 如何获取 CfnNetworkInterface 的私有 DNS?
- c# - 如何在 .NET Core 3.1 应用程序中添加 WCF 服务引用?
- android - 添加新项目后,底部导航视图使应用程序崩溃
- c# - RSACryptoServiceProvider 与 RSACng