Tag: bluetooth lowenergy

在iOS中获取BLE的广告数据

我正在创build一个应用程序,获取范围内所有BLE设备的UUID。 我已经得到它在Android中正常工作,它把广告数据作为一个字节数组。 现在我试图在iOS中做同样的事情。 我正在运行扫描,它正在检测设备,并在callback中有一个名为advertisementData的NSDictionary。 但是唯一的信息如下: kCBAdvDataChannel = 39; kCBAdvDataIsConnectable = 1; kCBAdvDataLocalName = jaalee; kCBAdvDataTxPowerLevel = 0; 我是否认为我应该得到整个广告包? 如果没有,我怎么能得到它?

在后台运行iPhone作为iBeacon

是否可以将iOS 7设备作为蓝牙LE外设(iBeacon)运行并在后台投放广告? 我已经能够在下面的代码在前台广告,可以从另一个iOS设备看到它,但只要我回到主屏幕停止广告。 我在plist中添加了蓝牙外设的后台模式,但似乎没有帮助,虽然我得到提示说设备要在后台使用蓝牙。 我做错了什么,或者这只是不可能在iOS 7? peripManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; – (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral { if (peripheral.state != CBPeripheralManagerStatePoweredOn) { return; } NSString *identifier = @"MyBeacon"; //Construct the region CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:identifier]; //Passing nil will use the device default power NSDictionary *payload = [beaconRegion peripheralDataWithMeasuredPower:nil]; //Start advertising [peripManager startAdvertising:payload]; } […]

获取蓝牙低功耗外设的MAC地址

我目前正在开发基于蓝牙低功耗设备的iOS应用程序。 为了获得唯一的标识符来比较获得的外设,我必须得到外设的MAC地址。 据观察,外围设备的UUID属性在iOS设备之间有所不同,并且为了获得UUID,外围设备也必须至less连接到主设备一次。 由于我不得不处理登机手续,我不想build立连接。 当我通过蓝牙服务门户网站时,发现设备信息本身就是一项服务,除非主iOS设备和外设蓝牙低功耗设备之间已build立连接,否则无法检索到该服务。 我发现在Android中我们获取设备的全部信息,包括其MAC地址(使用getAddress()),当我们从设备获取自己的响应时。 我没有发现与设备地址相关的CBPeripheral类中的任何属性。 获得唯一参数的另一种方法是定制广告数据以发送关于设备的附加信息,这在固件方面需要更多的工作。 那么在iOS中有什么办法可以在不build立连接的情况下获得蓝牙低功耗外设的MAC地址? 任何帮助将不胜感激。