首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >-[CBPeripheral isConnected]:无法识别的选择器发送到实例

-[CBPeripheral isConnected]:无法识别的选择器发送到实例
EN

Stack Overflow用户
提问于 2016-01-14 02:57:41
回答 2查看 517关注 0票数 1

我正在开发一个通过蓝牙连接到腕带Empatica E4的iPhone应用程序。这个腕带可以给你心率、出汗等数据。

在升级到iOS 9.2和Xcode7之前,一切都很好。我能够从iPhone连接到腕带,并且能够很好地获取数据。但是,在升级之后,一旦iPhone连接到腕带,我就开始抛出以下异常:

代码语言:javascript
复制
-[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属性。我还联系了腕带的制造商,显然他们也不使用它。

在这一点上,我有点绝望。我想知道有没有人遇到过这种情况。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-07-26 01:03:06

我做了改变。

[peripheral isConnected]

变成了

peripheral.state == CBPeripheralStateConnected

票数 1
EN

Stack Overflow用户

发布于 2016-04-22 22:03:25

我也有同样的问题。您需要向恢复isConnected方法的CBPeripheral添加一个类别。

代码语言:javascript
复制
#import "CBPeripheral+APIFix.h"

@implementation CBPeripheral (APIFix)

-(BOOL)isConnected {
    if (self.state == CBPeripheralStateConnected) {
        return YES;
    }
    return NO;
}

@end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34774868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档