首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS上不会发生nRF52服务发现

iOS上不会发生nRF52服务发现
EN

Stack Overflow用户
提问于 2021-03-16 22:13:05
回答 2查看 51关注 0票数 0

我在发现服务时遇到了一些问题。

它似乎连接到安卓没有太多问题,但在iOS上连接失败。从运行连接的测试来看,服务似乎没有被发现。在示例或文档中,我没有看到任何关于连接上的这个问题服务发现的信息。这是因为gatt服务的开发人员给了我一个新服务的更新,所以我不得不将ipad设置为飞机模式,有没有编程上的解决方案?

有人有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2021-03-17 13:58:58

听起来您在发现新添加的BLE服务时遇到了问题。这很可能是由iOS缓存设备信息引起的。为此,您应该使用Service Changed特性。

根据Bluetooth Core specification,版本5.2,卷3,部分G,7定义的通用属性简档服务,服务改变的特征是

如果可以添加、更改或删除服务器上的服务定义,则

为必填;否则为可选

苹果公司的Accessory Design Guide还声明:

仅当附件有能力在其生命周期内更改其服务时,附件才应实施服务更改特征。该设备可以使用服务改变特性来确定它是否可以依赖于先前从该设备读取(缓存)的信息。参见蓝牙4.0规范,卷3,部分G,7.1节。

票数 0
EN

Stack Overflow用户

发布于 2021-09-01 14:08:59

几天后,我找到了解决方案,你应该像这样发现你的外围设备,

代码语言:javascript
复制
print("peripheral peripheral.name \(advertisementData)")
guard let nameAdvertisementData = advertisementData["kCBAdvDataLocalName"] as? String else {
        return
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66656982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档