为什么不断开工作?

时间:2014-04-15 19:46:03

标签: ios objective-c bluetooth bluetooth-lowenergy core-bluetooth

我正在编写一个基于Apple的iOS设备温度传感器应用程序的应用程序。我正在尝试实现一个Disconnect按钮,它会断开当前连接的设备与iPhone的连接,但是当按下断开连接按钮时会有一个BAD_ACCESS error,我知道这是基于内存的,但我完全不知所措。关于如何解决它。代码如下。

- (IBAction)clickbutton:(id)sender 
{

    [[LEConnect sharedInstance] startScan:AccelerometerServiceUUID];
}

- (IBAction)disconnectButton:(id)sender 
{
    CBPeripheral    *peripheral;
    if(CBPeripheralStateDisconnected)
    {
        [[LEConnect sharedInstance] disconnectPeripheral:peripheral];
    }
}

startScan button正常工作但disconnect button没有。按钮中的代码基于查找以下设备的代码:

if (CBPeripheralStateConnected)
{
    [[LEConnect sharedInstance] connectPeripheral:peripheral];
    [currentlyConnectedDevice setText:[peripheral name]];
}

在此函数的前面,生成了相同的CBPeripheral *peripheral;指针。

对不起,如果这是一个愚蠢的问题,或者之前有人问过,我真的很挣扎,迫切需要帮助!感谢

1 个答案:

答案 0 :(得分:1)

disconnectButton方法有两个错误。首先使用peripheral变量而不进行初始化(是否忽略了编译器警告?)。其次,if语句检查外围设备是否已断开连接,然后再次断开连接(您应该检查外围设备已连接)。