gpt4 book ai didi

swift - CBCentralManager 停止扫描需要多长时间?

转载 作者:行者123 更新时间:2023-11-28 13:28:12 24 4
gpt4 key购买 nike

我想停止,然后在 CBCentralManager 上重新开始扫描。我的问题是:我应该在调用 stopScanning() 后等待交易完成,还是立即调用 startScanning()?

我不知道下层和硬件的响应速度如何。

方法一:

    self.stopScanning()
self.startScanning()

方法二:

    self.stopScanning()

// wait a few secs for the BLE layer to shutdown to be safe...
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3)) {
// ...now resume scanning
self.startScanning()
}

最佳答案

在 stopScan() 之后在 scanForPeripherals(withServices:options:) 之前有一个小的延迟,或者监视 isScanning 属性可能会解决您的问题。

我会考虑的另一个因素是 BLE 是为最小功耗而设计的,扫描是一个非常耗电的过程,应该尽可能少地完成。 Best Practices for Interacting with a Remote Peripheral Device 下 Apple 的第一项是关于如何避免扫描或最小化扫描的时间/功耗。因此,在应用程序设计中考虑这一点也很重要。

关于swift - CBCentralManager 停止扫描需要多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57959146/

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