我们使用Xcode 4.5.2在IOS 6上开发蓝牙低功耗。下载到IOS5设备的应用程序可以连接到BLE设备

时间:2012-11-06 03:44:23

标签: ios bluetooth bluetooth-lowenergy

我们使用Xcode 4.5.2在IOS 6 SDK上开发蓝牙低功耗应用程序。下载到IOS5(IPad3)设备的应用程序可以毫无问题地连接到BLE设备。但是,如果要将此应用程序下载到IOS 6设备,则会出现问题。应用程序可以发现BLE设备(显示在列表中),但是当我们点击连接时,它就失败了。我们正在使用最新的IPod5。

2 个答案:

答案 0 :(得分:2)

我相信这是这里提到的iOS 6错误:iOS 6 UUID Problem

快速检查的一种方法是添加NSLog以在发现外围设备时检查外围设备名称。

如果peripheralName为Null,或者它在CFUUIDCreateString上崩溃,则表示您发现了问题。我发现修复的唯一方法是先连接外设[manager connectPeripheral:peripheral options:nil]然后断开连接并重新连接。完成后,您应该可以毫无问题地使用CFUUIDCreateString。

- (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
   if (peripherals.count == 0)
   {
        [peripherals addObject: peripheral];
        NSString *peripheralName;
        peripheralName = [peripheral name];
        NSString *foundDevice = (NSString *)CFBridgingRelease(CFUUIDCreateString(NULL, [peripheral UUID]));
        NSLog(@"Found %@", peripheralName);

答案 1 :(得分:0)

我知道这听起来很奇怪,但iPad2 iOS6也有可怕的BLE问题。即外围设备名称并不反映我在微控制器软件中引入的更改。

我的iPhone5配有iOS 6.1 beta 4和iPhone 4s iOS 6.0。两者都与我的CC2540项目完美配合。