我知道Apple发布了基于蓝牙4.0协议的iBeacon。
在任何蓝牙设备中,如果我们使用以下代码对设备进行编码:
0x4c,
0x00,
0x02,
0x15,
表示该蓝牙设备是iBeacon蓝牙设备。
static uint8 advertData1[] =
{
// 25 byte ibeacon advertising data
// Preamble: 0x4c000215
// UUID: E2C56DB5-DFFB-48D2-B060-D0F5A71096E0
// Major: 1 (0x0001)
// Minor: 1 (0x0001)
// Measured Power: -59 (0xc5)
0x1A, // length of this data including the data type byte
GAP_ADTYPE_MANUFACTURER_SPECIFIC, // manufacturer specific advertisement data type
0x4c,
0x00,
0x02,
0x15,
0xe2,
0xc5,
0x6d,
0xb5,
0xdf,
0xfb,
0x48,
0xd2,
0xb0,
0x60,
0xd0,
0xf5,
0xa7,
0x10,
0x96,
0xe0,
0x00,
0x00,
0x00,
0x07,
0xc5
};
我的问题是,如果我定义自己的协议,这意味着我改变了这个
0x4c,
0x00,
0x02,
0x15,
有可能我可以通过iphone识别我自己定义的蓝牙设备而无需在iPhone上添加识别设备。
苹果是否支持定制的ibeacon?
修改 根据davidgyoung的说法,我做了一些关于stackoverflow的研究,与ibeacon问题分享其他人
答案 0 :(得分:0)
是的,您当然可以在iOS上定义自己的自定义蓝牙LE广告并将其用作信标。
但是您将无法使用CoreLocation API来检测这些非标准的iBeacons。您必须使用CoreBluetooth API,这将对权限和后台使用施加限制。