Ios 背景的CBX和x27;我不能保持可读性

Ios 背景的CBX和x27;我不能保持可读性,ios,bluetooth-lowenergy,core-bluetooth,cbperipheral,ios-bluetooth,Ios,Bluetooth Lowenergy,Core Bluetooth,Cbperipheral,Ios Bluetooth,我有一个应用程序,可以播放带有少量文本的cb外围设备。 我使用蓝牙外围设备后台模式允许它在后台广播 当我从另一台设备扫描时,在前台它工作正常。我检测外围设备,连接,发现服务,然后从服务读取数据 然而,在背景中,有些东西并不完全正确。我用我的服务扫描外设,它发现没问题。我连接,这也很好。然后我使用我的服务discoverServices,当调用didiscoverservices回调时,我的服务也会正常运行。但是在此回调中,外围设备没有任何服务外围设备。服务为空。 如果没有这项服务,它不会走这么远

我有一个应用程序,可以播放带有少量文本的
cb外围设备
。 我使用
蓝牙外围设备
后台模式允许它在后台广播

当我从另一台设备扫描时,在前台它工作正常。我检测外围设备,连接,发现服务,然后从服务读取数据

然而,在背景中,有些东西并不完全正确。我用我的服务扫描外设,它发现没问题。我连接,这也很好。然后我使用我的服务
discoverServices
,当调用
didiscoverservices
回调时,我的服务也会正常运行。但是在此回调中,外围设备没有任何服务<代码>外围设备。服务为空。 如果没有这项服务,它不会走这么远的,那么它能做什么呢? 此回调中的
错误也为
nil

在iOS 12上播放
CBPeripheral
时,一切正常

编辑-----
说得太早了,现在我的iOS 12设备似乎开始出现同样的症状。过了一会儿,CBPeripheral不工作。

在调用
CBPeripheralManager
上的
StartAvertising
时,通过添加
CBAdvertisementDataLocalNameKey
键,问题得到了解决。如果您想让
cbperipal
在后台继续播放,则需要此键。Apple docs没有提到这一点。

在调用
CBPeripheralManager
上的
StartAvertising
时,通过添加
CBAdvertisementDataLocalNameKey
键,问题得以解决。如果您想让
cbperipal
在后台继续播放,则需要此键。Apple docs没有提到这一点。

Hello@Darren,对我来说,尽管为初始化外围广告服务提供了CBAdvertisementDataLocalNameKey代码,但同样的问题仍然存在://创建我们的特征let characteristic=CBMutableCharacteristic.init(类型:CBUUID(字符串:“12484b62-8da6-40b7-a54a-94ddf8f957a4”),属性:CBCharacteristicProperties.read,值:“要广播的虚拟数据”。数据(使用:String.Encoding.utf8),权限:CBAttributePermissions.readable)
请与我联系,或者回复我的上述评论。该发现没有按预期工作,并且我得到了与您相同的错误,尽管使用了CBAdvertisementDataLocalNameKey。我的问题通过将
CBAdvertisementDataLocalNameKey
添加到
CBPeripheralManager
中来解决。我建议您开始一个新问题。谢谢谢谢你的回复。你的代码现在还能用吗?例如,你能从一个有背景的外围设备上发现一个服务,连接到它,并阅读它的特征吗?我将开始一个新的讨论并链接这个问题,但是如果你对这个话题仍然感兴趣,请通过我的电子邮件联系我。是的,我的代码现在可以用了。我可以留下一个iPhone我的n待机数天,仍然在后台应用程序中发现并连接到外围设备。Hello@Darren,对我来说,尽管为初始化外围广告服务提供了CBAdvertisementDataLocalNameKey代码,但同样的问题仍然存在://创建我们的特征let characteristic=CBMutableCharainit(类型:CBUUID(字符串:“12484b62-8da6-40b7-a54a-94ddf8f957a4”),属性:CBCharacteristicProperties.read,值:“要广播的虚拟数据”。数据(使用:string.Encoding.utf8),权限:CBAttributePermissions.readable)请与我联系,或者回复我的上述评论。该发现没有按预期工作,并且我得到了与您相同的错误,尽管使用了CBAdvertisementDataLocalNameKey。我的问题通过将
CBAdvertisementDataLocalNameKey
添加到
CBPeripheralManager
中来解决。我建议您开始一个新问题。谢谢谢谢你的回复。你的代码现在还能用吗?例如,你能从一个有背景的外围设备上发现一个服务,连接到它,并阅读它的特征吗?我将开始一个新的讨论并链接这个问题,但是如果你对这个话题仍然感兴趣,请通过我的电子邮件联系我。是的,我的代码现在可以用了。我可以留下一个iPhone我的n待机数天,仍在后台应用程序中查找并连接到外围设备。