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;
}
相关推荐
北冥有鱼被烹37 分钟前
【vibo经验记录】Mac 配置 Claude Code + 远程 Ollama 完全指南
macos·claude code·openclaw
无巧不成书02182 小时前
FFmpeg 保姆级安装教程!Windows/macOS/Linux全平台覆盖,
windows·macos·ffmpeg
I'm Jie2 小时前
MacOS 国内镜像一键安装 Homebrew
git·macos·homebrew
lucky_syq2 小时前
Mac电脑部署OpenClaw保姆级教程(2026最新版)
人工智能·macos·开源·电脑·openclaw
todoitbo12 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
奶糖的次元空间18 小时前
iOS 学习笔记 - SwiftUI 和 简单布局
ios·swift
姓王名礼19 小时前
一份 Windows/macOS/Linux 完整安装 + 运行 + 对接 WebUI 的步骤
linux·windows·macos
zhensherlock1 天前
Protocol Launcher 系列:App Store 精准引流与应用推广
javascript·macos·ios·typescript·iphone·mac·ipad
新缸中之脑1 天前
mflux:Mac本地生图AI工具
人工智能·macos
小马过河R1 天前
小白沉浸式本地Mac小龙虾OpenClaw部署安装教程
人工智能·macos·大模型·nlp·agent·openclaw·龙虾