繁体   English   中英

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

[英]We develop Bluetooth Low Energy on IOS 6 with Xcode 4.5.2. The apps downloaded to a IOS5 device can connect to BLE device

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

我相信这是这里提到的iOS 6 bug: iOS 6 UUID问题

快速检查的一种方法是添加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);

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM