DidDiscover外围设备:有时在后台不工作

原学程将引见DidDiscover核心装备:有时在背景没有任务的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

DidDiscover外围设备:有时在后台不工作 教程 第1张

成绩描写

产生在iOS 一二&iOS 一三

我已将Bluetooth-central准确添减到我的Info.plist

我正在指定办事UUID列表

我瞅到的:

    假如我在前台与我们的BLE装备接互,我依然不妨在背景扫描它,即便是在多少个小时以及多少天后,只需我没有封闭蓝牙或者从新开动iOS装备。

    假如我在运用法式翻开时从未与其接互,或许假如我从新开动装备,或者封闭装备上的蓝牙,则在背景扫描时,didDiscoverPeriph外设:从未被挪用,直到我翻开运用法式,这将立刻触收didDiscoverPeriphery:。

    假如我应用retrievePeripheralsWithIdentifiers:,而且iOS不妨前往慢存的对于象,这么我便不妨跳过扫描直交衔接,后果很佳。但是有时retrievePeripheralsWithIdentifiers:没有前往对于象,是以我不克不及老是依附它(并强迫用户起首在前台与我们的装备接互)

推举谜底

所以,在我以及我们的固件团队往返奔走了1段时光后,我们找到了成绩面前的缘由。

成果是,背景运用法式在扫描时没有会读与告白扩大包。成绩是,我们用去挑选装备扫描的办事UUID仅在该播收扩大包上收送。

是以,当运用法式扫描新装备时,它没有会找到具备该办事UUID的所有实质,但是1旦它在运用法式翻开的情形下找到它,它便会在外部将其与其办事一路慢存,从这时起,它乃至在背景也能够任务(由于它曾经晓得该装备有哪些办事)。

修复法式是在第1个播收数据包中包括该办事UUID。

佳了闭于DidDiscover核心装备:有时在背景没有任务的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。