簡體   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