核心蓝牙在后台进行广告和扫描

 尤物-tina_549 发布于 2023-02-12 13:51

我一直试图设置一个应用程序,使设备扫描外围设备并作为外围设备做广告.目标是当两个设备通过蓝牙发现彼此靠近时在后台唤醒.从Apple文档中,您似乎应该能够在后台运行BLE(启用蓝牙 - 中央和蓝牙 - 外设背景模式),并且当一台设备位于前台时,我的应用程序可以运行.首先,我这样宣传数据:

NSDictionary *advertisingData = @{CBAdvertisementDataLocalNameKey:@"my-peripheral",
                              CBAdvertisementDataServiceUUIDsKey:@[[CBUUID UUIDWithString:identifier]]};

// Start advertising over BLE
[peripheralManager startAdvertising:advertisingData]; 

然后我将设备设置为扫描数据:

NSArray *services = @[[CBUUID UUIDWithString:identifier]];

[centralManager scanForPeripheralsWithServices:services options:nil];

但是,当两者都进入后台(设备必须被锁定)时,蓝牙无法发现和

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI

永远不会在任何一个设备上调用 我怎样才能解决这个问题?谢谢

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有