Mais conteúdo relacionado
Semelhante a iBeaconを使ってみよう!気軽に使える近距離無線通信 (20)
iBeaconを使ってみよう!気軽に使える近距離無線通信
- 11. 領域観測してみる
if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]) {
!
// CLLocationManagerの生成とデリゲートの設定
self.manager = [CLLocationManager new];
self.manager.delegate = self;
!
// 生成したUUIDからNSUUIDを作成
NSString *uuid = @"41282F26-524C-4F16-9E95-C06D90AF942A";
self.proximityUUID = [[NSUUID alloc] initWithUUIDString:uuid];
!
// CLBeaconRegionを作成
self.region = [[CLBeaconRegion alloc]
initWithProximityUUID:self.proximityUUID
identifier:@"jp.classmethod.testregion"];
!
// iBeaconによる領域観測を開始
[self.manager startMonitoringForRegion:self.region];
}
- 12. 領域観測してみる
iBeaconに対応してい
るか判定する
if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]) {
!
// CLLocationManagerの生成とデリゲートの設定
self.manager = [CLLocationManager new];
self.manager.delegate = self;
!
// 生成したUUIDからNSUUIDを作成
NSString *uuid = @"41282F26-524C-4F16-9E95-C06D90AF942A";
self.proximityUUID = [[NSUUID alloc] initWithUUIDString:uuid];
!
// CLBeaconRegionを作成
self.region = [[CLBeaconRegion alloc]
initWithProximityUUID:self.proximityUUID
identifier:@"jp.classmethod.testregion"];
!
// iBeaconによる領域観測を開始
[self.manager startMonitoringForRegion:self.region];
}
- 13. 領域観測してみる
iBeaconに対応してい
るか判定する
if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]) {
!
// CLLocationManagerの生成とデリゲートの設定
self.manager = [CLLocationManager new];
self.manager.delegate = self;
!
コマンドで生成可能
// 生成したUUIDからNSUUIDを作成
NSString *uuid = @"41282F26-524C-4F16-9E95-C06D90AF942A";
self.proximityUUID = [[NSUUID alloc] initWithUUIDString:uuid];
!
// CLBeaconRegionを作成
self.region = [[CLBeaconRegion alloc]
initWithProximityUUID:self.proximityUUID
identifier:@"jp.classmethod.testregion"];
!
// iBeaconによる領域観測を開始
[self.manager startMonitoringForRegion:self.region];
}
- 14. 領域観測してみる
iBeaconに対応してい
るか判定する
if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]) {
!
// CLLocationManagerの生成とデリゲートの設定
self.manager = [CLLocationManager new];
self.manager.delegate = self;
!
コマンドで生成可能
// 生成したUUIDからNSUUIDを作成
NSString *uuid = @"41282F26-524C-4F16-9E95-C06D90AF942A";
self.proximityUUID = [[NSUUID alloc] initWithUUIDString:uuid];
!
// CLBeaconRegionを作成
アプリでの識別用
self.region = [[CLBeaconRegion alloc]
initWithProximityUUID:self.proximityUUID
identifier:@"jp.classmethod.testregion"];
!
// iBeaconによる領域観測を開始
[self.manager startMonitoringForRegion:self.region];
}
- 21. 距離測定してみる
- (void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(NSArray *)beacons
inRegion:(CLBeaconRegion *)region
{
CLBeacon *beacon = beacons.firstObject;
switch (beacon.proximity) {
case CLProximityUnknown:
NSLog(@"CLProximityUnknown");
break;
case CLProximityImmediate:
NSLog(@"CLProximityImmediate");
break;
case CLProximityNear:
NSLog(@"CLProximityNear");
break;
case CLProximityFar:
NSLog(@"CLProximityFar");
break;
}
}
- 22. 距離測定してみる
- (void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(NSArray *)beacons
inRegion:(CLBeaconRegion *)region
{
CLBeacon *beacon = beacons.firstObject;
switch (beacon.proximity) {
case CLProximityUnknown:
NSLog(@"CLProximityUnknown");
break;
case CLProximityImmediate:
NSLog(@"CLProximityImmediate");
break;
case CLProximityNear:
NSLog(@"CLProximityNear");
break;
case CLProximityFar:
NSLog(@"CLProximityFar");
break;
}
}
配列で渡されるので!
それぞれのBeaconの!
距離を判定する
- 30. Beaconになってみる
- (void)viewDidLoad
{
[super viewDidLoad];
!
!
// 生成したUUIDからNSUUIDを作成
NSString *uuid = @"41282F26-524C-4F16-9E95-C06D90AF942A";
self.proximityUUID = [[NSUUID alloc] initWithUUIDString:uuid];
// CBPeripheralManagerを作成
self.peripheralManager
= [[CBPeripheralManager alloc] initWithDelegate:self
queue:nil
options:nil];
// アドバタイズ開始処理
if (self.peripheralManager.state
== CBPeripheralManagerStatePoweredOn) {
[self startAdvertising];
}
}
- 31. Beaconになってみる
- (void)viewDidLoad
{
[super viewDidLoad];
!
!
// 生成したUUIDからNSUUIDを作成
NSString *uuid = @"41282F26-524C-4F16-9E95-C06D90AF942A";
self.proximityUUID = [[NSUUID alloc] initWithUUIDString:uuid];
// CBPeripheralManagerを作成
アドバタイズできる
状態か判定する
self.peripheralManager
= [[CBPeripheralManager alloc] initWithDelegate:self
queue:nil
options:nil];
// アドバタイズ開始処理
if (self.peripheralManager.state
== CBPeripheralManagerStatePoweredOn) {
[self startAdvertising];
}
}
- 32. Beaconになってみる
- (void)startAdvertising
{
// CLBeaconRegionを作成
!
CLBeaconRegion *beaconRegion
= [[CLBeaconRegion alloc]
initWithProximityUUID:self.proximityUUID
major:1
minor:2
identifier:@"jp.classmethod.testregion"];
// NSDictionaryに変換
NSDictionary *beaconPeripheralData
= [beaconRegion peripheralDataWithMeasuredPower:nil];
// アドバタイズ開始
[self.peripheralManager startAdvertising:beaconPeripheralData];
}