如何检测打开蓝牙的 Iphone/Ipad 设备?

Posted

技术标签:

【中文标题】如何检测打开蓝牙的 Iphone/Ipad 设备?【英文标题】:How to detect Iphone/Ipad devices with bluetooth ON? 【发布时间】:2013-02-12 12:15:27 【问题描述】:

我正在使用 BluetoothManager.framework

我有检测 iphone/ipad 蓝牙设备的示例。但是这个示例应用程序没有检测到我的设备。

下面是示例代码和网址的链接:

http://www.pocketmagic.net/2012/07/bluetooth-and-ios-use-bluetooth-in-your-iphone-apps/#.URnZy-hhNDQ

BluetoothManager *btManager;

- (IBAction)scanButtonAction

  if ([btManager enabled])
  
        // start scan
        [btManager  setDeviceScanningEnabled:YES];
   
   else
   
    showMessage(@"Error", @"Turn Bluetooth on first!");
   



- (IBAction)bluetoothON

    NSLog(@"bluetoothON called.");
    [btManager setPowered:YES];
    [btManager setEnabled:YES]; 


- (IBAction)bluetoothOFF

    NSLog(@"bluetoothOFF called.");
    [btManager setEnabled:NO]; 
    [btManager setPowered:NO];

任何用于检测蓝牙设备的建议或示例将不胜感激。

【问题讨论】:

【参考方案1】:

您的蓝牙设备使用哪种蓝牙?蓝牙4.0?如果是,那么使用 CoreBluetooth 框架可能会更好,尤其是它不是私有的。 使用蓝牙,您必须创建一个 CBCentralManager 实例。比你必须实现 CBCentralManagerDelegate 协议和 CBPeripheralDelegate 协议。您可以通过询问 CBCentralManager 状态来测试您的硬件是否支持蓝牙 4.0。例如:CBCentralMangerStateUnsupported 表示您的硬件不支持 BT 4.0。

【讨论】:

我有两部具有相同蓝牙的 iphone 无法相互连接。即使设备版本相同,蓝牙也相同。 在这种情况下,您可以使用蓝牙 4.0。使用 iOS 6,iPhone 也可以使用蓝牙外围设备,例如心率监测器。有关详细信息以及如何实现蓝牙 4,请从 Apple 下载 BTLE Central Peripheral Transfer samplecode。

以上是关于如何检测打开蓝牙的 Iphone/Ipad 设备?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 iPhone 连接到蓝牙设备?

编程苹果 iphone/ipad 应用程序以通过蓝牙(或 WIFI)与自定义电子设备通信

检测iOS设备类型

请问电脑PC自带IE浏览器和 苹果IPHONE或者安卓手机打开同一域名网站时,分别显示不同内容,代码如何修改,

从 iPhone 应用程序搜索和连接蓝牙设备

如何使用 JavaScript 检测移动设备?