IOS 蓝牙连接

最近做一个硬件设备,写IOS相应的数据连接/分析代码时;发现一个问题,如果是开机,每次都能连接上。连接断开后,发现再也扫描不到了。通过第三方工具LightBlue,发现信号是-127。

此时进入设置查看蓝牙设备,发现该设备处于连接状态。所以发现不了该设备。

此问题解决方案:搜索前,先通过

retrieveConnectedPeripheralsWithServices

搜索已连接设备,是否存在当前应用需要的设备。存在时,不进行扫描,直接连接设备。

不存在时,进行扫描。

搜索示例代码:

复制代码
-(int) Search_RetrieveConnPeri
{
    NSArray *uuidArray = [NSArray arrayWithObjects:[CBUUID UUIDWithString:DEVICE_INFO_SERVICE],[CBUUID UUIDWithString:DEVICE_BATTER_SERVICE], [CBUUID UUIDWithString:kConnectedServiceUUID1], [CBUUID UUIDWithString:OAT695_SERVICE],nil];
    
    NSArray* allConnected=[centralManager retrieveConnectedPeripheralsWithServices:uuidArray];
    if(allConnected.count>0)
    {
        for(int i=0;i<allConnected.count;i++)
        {
            CBPeripheral *per = allConnected[i];
            NSLog(@"retrie conn names: %@",per.name);
            if([per.name hasPrefix:KNAME_DEVICE]){
                [self Connect_Peri:per];
                return 1;
            }
        }
        
        //CBPeripheral *per = allConnected[0];
        
    }
    return 0;
}
相关推荐
我是谁的程序员13 小时前
Mac 上生成 AppStoreInfo.plist 文件,App Store 上架
后端·ios
sweet丶14 小时前
微信Matrix 卡顿监控原理梳理与图解
ios
2501_9160074716 小时前
iOS开发中抓取HTTPS请求的完整解决方法与步骤详解
android·网络协议·ios·小程序·https·uni-app·iphone
ZZH_AI项目交付20 小时前
我把 AI 最容易改坏真实 App 的地方,整理成了 skills
人工智能·ios·app
00后程序员张21 小时前
Windows 下怎么生成 AppStoreInfo.plist?不依赖 Xcode 的方法
ide·macos·ios·小程序·uni-app·iphone·xcode
原鸣清21 小时前
iOS 自定义 Markdown 渲染实践:从成品库到可魔改 Demo
ios
Daniel_Coder21 小时前
iOS Widget 开发-18:Widget 的 SwiftUI 视图适配与设计
ios·swiftui·swift·widget·widgetcenter
Daniel_Coder21 小时前
iOS Widget 开发-17:Widget 错误处理与空状态设计
ios·swift·widget·widgetcenter
wjm0410061 天前
简单谈谈ios开发中的UI
开发语言·ios·swift
boldiy1 天前
如何在MAC电脑中实现自动切换windows快捷键
windows·macos