Beacon Region Manager is wrapper library for Region monitoring of geographical regions and beacon regions API, Sending iBeacon signal.
-
You have added the .h/m files to your project.
-
Add 'NSLocationAlwaysUsageDescription' into your project Info.plist
#import "BRMBeacon.h"
include all of necessary classes.
BRMBeaconSendManger, BRMBeaconReceiveManager, BRMLocationReceivceManger will instanciate singleton after called sharedManager.
[[BRMBeaconSendManager sharedManager] startBeaconWithUUID:@"2290B76D-300E-40C1-A40A-38D28477ADCB" identifier:@"BRMBeacon" major:100 minor:100 second:5.0];
BRMBeaconReceiveManager *beaconReceiveManager = [BRMBeaconReceiveManager sharedManager];
beaconReceiveManager.delegate = self;
beaconReceiveManager monitorBeaconRegionWithUuid:@"2290B76D-300E-40C1-A40A-38D28477ADCB" identifier:@"BRMBeacon"];
You can disable iBeacon ranging. (Default:enable)
beaconReceiveManager.allowRanging = NO;
You need to inherit BRMBeaconReceiveDelegate to set delegation.
@interface MyClass : NSObject<BRMBeaconReceiveDelegate>
Region monitoring delegates defined in BRMBeaconReceiveDelegate,
- (void)didUpdateRegionEnter:(NSString *)identifier;
- (void)didUpdateRegionExit:(NSString *)identifier;
Ranging delegates defined in BRMBeaconReceiveDelegate,
- (void)didRangeBeacons:(NSArray *)beacons identifier:(NSString *)identifier;
A device can not receive own iBeacon signal.
BRMLocationReceiveManager *locationReceiveManager = [BRMLocationReceiveManager sharedManager];
locationReceiveManager.delegate = self;
locationReceiveManager monitorLocationRegionWithLatitude:35.681382 longitude:139.766084 distance:100.0 identifier:@"BRMLocation"];
You need to inherit BRMLocationReceiveDelegate to set delegation.
@interface MyClass : NSObject<BRMLocationReceiveDelegate>
Region monitoring delegates defined in BRMLocationReceiveDelegate,
- (void)didUpdateRegionEnter:(NSString *)identifier;
- (void)didUpdateRegionExit:(NSString *)identifier;
BRMEddystoneReceiveManager *eddystoneReceiveManager = [BRMEddystoneReceiveManager sharedManager]
eddystoneReceiveManager.delegate = self;
You need to inherit BRMEddystoneReceiveDelegate to set delegation.
@interface MyClass : NSObject<BRMEddystoneReceiveDelegate>
Region monitoring delegates defined in BRMEddystoneReceiveDelegate,
- (void)didUpdateEnterUIDBeacon:(BRMEddystoneUIDBeacon *)brmUIDBeacon;
- (void)didUpdateEnterURLBeacon:(BRMEddystoneURLBeacon *)brmURLBeacon;
- (void)didUpdateEnterTLMBeacon:(BRMEddystoneTLMBeacon *)brmTLMBeacon;
- (void)didUpdateExitUIDBeacon:(BRMEddystoneUIDBeacon *)brmUIDBeacon;
- (void)didUpdateExitURLBeacon:(BRMEddystoneURLBeacon *)brmURLBeacon;
- (void)didUpdateExitTLMBeacon:(BRMEddystoneTLMBeacon *)brmTLMBeacon;
Ranging delegates defined in BRMEddystoneReceiveDelegate,
- (void)didRangeBeacons:(NSArray *)beacons;
You can get Eddystone beacon information from BRMEddystoneUIDBeacon, BRMEddystoneURLBeacon, BRMEddystoneTLMBeacon.
Beacon Region Manager is released under the MIT license. See LICENSE for details.