Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 通过配对设备自动连接到蓝牙设备_Objective C_Xcode_Bluetooth - Fatal编程技术网

Objective c 通过配对设备自动连接到蓝牙设备

Objective c 通过配对设备自动连接到蓝牙设备,objective-c,xcode,bluetooth,Objective C,Xcode,Bluetooth,我正在尝试自动连接到蓝牙设备。第一次,用户必须通过IOBluetoothDeviceSelectorController选择设备。然后将该地址存储在某个位置,之后,该设备将自动连接 我的想法是使用pairedDevices逐步浏览所有已知和配对的蓝牙设备,然后在设备地址等于前一个地址时中断。但由于某种原因,我不能让这一休息发生 这是我的(略为缩短的)代码: 日志窗口输出如下所示: 2012-11-18 00:06:02.385程序[5093:303]=00-80-25-15-29-20= 201

我正在尝试自动连接到蓝牙设备。第一次,用户必须通过IOBluetoothDeviceSelectorController选择设备。然后将该地址存储在某个位置,之后,该设备将自动连接

我的想法是使用pairedDevices逐步浏览所有已知和配对的蓝牙设备,然后在设备地址等于前一个地址时中断。但由于某种原因,我不能让这一休息发生

这是我的(略为缩短的)代码:

日志窗口输出如下所示:

2012-11-18 00:06:02.385程序[5093:303]=00-80-25-15-29-20=

2012-11-18 00:06:04.772程序[5093:303]=00-80-25-15-29-20=

输出明显匹配,但由于某种原因,if语句认为不匹配,因此中断从未执行。我已经添加了第二个if语句用于检查,这个语句确实按预期执行并启动第二个中断

有没有想过为什么地址字符串比较不起作用


提前谢谢

我通过用“isEqualToString”语句替换“==”语句解决了这个问题

IOBluetoothDevice *device;
NSArray *devices = [IOBluetoothDevice pairedDevices];
NSEnumerator *e = [devices objectEnumerator];

while (device = [e nextObject])
{
    if ([[device addressString] isEqualToString:@"00-80-25-15-29-20"])
    {
        break;
    }
}

无论如何,谢谢你调查此事

我通过用“isEqualToString”语句替换“==”语句解决了这个问题

IOBluetoothDevice *device;
NSArray *devices = [IOBluetoothDevice pairedDevices];
NSEnumerator *e = [devices objectEnumerator];

while (device = [e nextObject])
{
    if ([[device addressString] isEqualToString:@"00-80-25-15-29-20"])
    {
        break;
    }
}

无论如何,谢谢你调查此事

NSString是一个对象;检查docunstring是否为对象;核对文件