gpt4 book ai didi

ios - 在连接之前识别 CBPeripheral 的类型

转载 作者:搜寻专家 更新时间:2023-11-01 06:54:36 27 4
gpt4 key购买 nike

我最近创建了一个在 iOS 上使用 CoreBluetooth 连接到热敏打印机的应用程序。除了一件事,一切都很好。我可以看到 20 多个蓝牙设备,但只有一个是热敏打印机。有没有办法让我在连接之前知道这个外围设备是否是热敏打印机,以便我可以显示/隐藏它?谢谢

最佳答案

您正在倒退地思考这个问题。您不获取服务列表,然后决定是否连接。您决定所需的服务并扫描这些服务。

当您调用 scanForPeripherals(withServices:options:) 时,您几乎应该始终传递您支持的服务列表。如果您传递的是 nil,那么您几乎肯定会错误地调用它,除非您正在构建通用 BLE 扫描器。

discoverServices(_:)也是如此。你很少在那里传递 nil 。您传递您知道如何处理的服务列表。 .services 属性在您知道您已经获取了服务时可以作为一种便利使用,但它很少有用。如果您在不需要时调用 discoverServices(_:),系统会立即向您发送缓存数据。

关于ios - 在连接之前识别 CBPeripheral 的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54423444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com