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;
}
相关推荐
2501_916008899 小时前
iOS应用开发工具全面解析:如何选择与优化开发效率
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
a4493153629 小时前
iPhone Face ID 故障的分层诊断——原深感系统与主板加密配对机制
macos·ios·电脑·cocoa·iphone
白玉cfc9 小时前
【iOS】内存五大分区
macos·ios·cocoa
二流小码农13 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
GitLqr14 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
a44931536218 小时前
iPhone 基带故障诊断——无服务/搜索不到网络的芯片级维修实录
网络·macos·ios·电脑·iphone
a44931536220 小时前
MacBook USB-C不充电故障诊断:从PD握手到主板供电链路
c语言·开发语言·macos·电脑
Summer-Bright20 小时前
消费者 AI 变现竞争:从“一家独大“到“iOS vs Android“,谁在为 AI 买单?
android·人工智能·ios·ai·自然语言处理·agi
寒水馨21 小时前
macOS下载、安装scrcpy-v4.1(附安装包scrcpy-macos-aarch64-v4.1.tar.gz)
macos·adb·手机控制·scrcpy·投屏软件·android投屏·屏幕镜像