iOS 8不推荐的RSSI方法
因此,通过阅读iOS 8不推荐的RSSI方法,ios,objective-c,ios8,core-bluetooth,Ios,Objective C,Ios8,Core Bluetooth,因此,通过阅读cbperipheraldegate文档,可以看出RSSI和peripheralDidUpdateRSSI:error:已被iOS 8弃用 Xcode警告: iOS 8.0中不推荐使用“rssi” 我注意到我的信号强度指示器不再被更新,所以我做了一些研究,发现了一种新方法([cbperipheraldegate peripheral:didrearssi:error:),该方法在调用readRSSI方法后被异步回调。不幸的是,这个方法似乎也没有被调用,即使我确实将父类设置为CBPe
cbperipheraldegate
文档,可以看出RSSI
和peripheralDidUpdateRSSI:error:
已被iOS 8弃用
Xcode警告:
iOS 8.0中不推荐使用“rssi”
我注意到我的信号强度指示器不再被更新,所以我做了一些研究,发现了一种新方法([cbperipheraldegate peripheral:didrearssi:error:
),该方法在调用readRSSI
方法后被异步回调。不幸的是,这个方法似乎也没有被调用,即使我确实将父类设置为CBPeripheral委托
还有其他人对iOS 8 Core蓝牙更新有问题吗?它在iOS 8.0.2中再次工作
使用
[myPeripheral readRSSI]代码>它适用于iOS 8.0.2,但现在已被限制。我每200ms发送一个readRSSI,每秒只收到一次响应。它在iOS 7.1上运行得很好。在苹果开发者论坛上发布了一个已知的问题,我也有一个开放的雷达
问题似乎在于,新的回调方法外围设备:didrearssi:error:
从未在iOS 8上调用过,特别是在与外围设备建立初始连接之后。我找到的唯一解决方案是通过打开/关闭或重新启动手机来重置手机上的蓝牙
更新:
刚刚测试了我的示例,该示例在当前的8.2版本中显示了此问题,我再也看不到新的iOS 8委托方法从未被调用的任何问题。我正在根据8.2版本将我的雷达标记为已解决。在iOS 8.1.1中,外围设备:didrearssi:error:
只会为您连接的外围设备调用。如果您只是通过扫描发现了外围设备,然后对其调用了readRSSI
,则不会调用回调
尝试先连接到外围设备(通过CBCentralManager
的connectPeripheral:options:
),然后调用readRSSI
这并不能回答问题。若要评论或要求作者澄清,请在他们的帖子下方留下评论-你可以随时对自己的帖子发表评论,一旦你有足够的评论,你就可以发表评论。事实上,这确实提供了问题的答案。他的问题涉及外围设备:didrearssi:error:
没有接到电话,他问是否有其他人对此有问题。我确实遇到了问题,我找到了在iOS 8中使用代理方法调用CoreBluetooth的解决方案:连接到外围设备。这只会在您第一次连接到外围设备并调用[peripheral readRSSI]时成功返回。任何后续连接都将无法调用didReadRSSI委托方法。@Shree:这实际上是定期刷新已观察但未连接到外围设备的RSSI的唯一方法。虽然它本身并没有回答这个问题,但它提供了一个解决方案。在iOS 8.1.3上看到了完全相同的问题。我一直在测试每个测试版,下一个即将发布的版本似乎已经解决了这个问题。