CoreBluetooth Central和Peripheral接近

时间:2014-12-03 20:39:33

标签: ios objective-c swift bluetooth core-bluetooth

iPhone是否可以作为中央和外围设备同时广播和接收来自/靠近用户的其他iPhone设备。我想要一些类似于iBeacons的东西,但是它们有一些限制,例如无法在后台播放,理论上有最大限度的设备可以进行播放。你可以说我正在寻找一个用核心BlueTooth编写的代理框架/类。

只是寻找一些建议和代码示例,在线的所有内容都过时了。

2 个答案:

答案 0 :(得分:1)

我不完全确定你要完成什么,但是,你可以将你的设备设置为中心和外围设备。您只需要CBCentralManager的实例作为中心,CBPeripheralManager作为外围设备。

答案 1 :(得分:0)

当应用程序在活动模式下运行时,Iphone(4s或更高版本)可以转为ibeacon,您可以使用其他具有应用程序扫描信标的设备扫描它。在后台模式下尝试使用应用程序运行以下代码 beginBackgroundTaskWithExpirationHandler 我个人从未尝试过这个但是当应用程序不在内存传输时,因为信标不起作用。

NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"place beacon uuid here"];
self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid
                                                            major:1
                                                            minor:1
                                                       identifier:@"testBeacon"];
self.beaconPeripheralData = [self.beaconRegion peripheralDataWithMeasuredPower:nil];
self.peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self
                                                                 queue:nil
                                                               options:nil];



// Start advertising your beacon's data.
[self.peripheralManager startAdvertising: self.beaconPeripheralData];

执行上面的代码将启动一个信标并分配你的类CBPeripheralManagerDelegate。 位置管理器最多可以监控20个区域,而如果您想使用核心蓝牙进行扫描,则无需将其转换为ibeacon。