我正在开发一个通过蓝牙连接到腕带Empatica E4的iPhone应用程序。这个腕带可以给你心率、出汗等数据。
在升级到iOS 9.2和Xcode7之前,一切都很好。我能够从iPhone连接到腕带,并且能够很好地获取数据。但是,在升级之后,一旦iPhone连接到腕带,我就开始抛出以下异常:
-[CBPeripheral isConnected]: unrecognized selector sent to instance我进行了研究,发现isConnected属性已被弃用,应该使用state属性:https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBPeripheral_Class/index.html#//apple_ref/occ/instp/CBPeripheral/isConnected
但是,我在代码中的任何地方都没有使用isConnected属性。我还联系了腕带的制造商,显然他们也不使用它。
在这一点上,我有点绝望。我想知道有没有人遇到过这种情况。
提前谢谢。
发布于 2016-07-26 01:03:06
我做了改变。
[peripheral isConnected]
变成了
peripheral.state == CBPeripheralStateConnected
发布于 2016-04-22 22:03:25
我也有同样的问题。您需要向恢复isConnected方法的CBPeripheral添加一个类别。
#import "CBPeripheral+APIFix.h"
@implementation CBPeripheral (APIFix)
-(BOOL)isConnected {
if (self.state == CBPeripheralStateConnected) {
return YES;
}
return NO;
}
@endhttps://stackoverflow.com/questions/34774868
复制相似问题