iBeaconでエリア毎に動作を分ける方法


iBeaconを複数個設置し、それぞれのBeaconのエリア内に入った際に別の動作(バックグラウンド)をさせるようにしたいと考えています。

同一UUIDでMajorを変えることでできるかと思いましたが、didEnterRegion内ではどのMajorのBeaconを掴んでエリア内に入ったかを認識することは可能でしょうか？

もしくは複数個のUUIDのビーコンをモニタリングし、それぞれのUUID毎のエリアに入った際の動作を決めることになるのでしょうか？




didEnterRegionではMajor,Minorは取得出来なかったと思います。

[code]

    - (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{
        if ([region isMemberOfClass:[CLBeaconRegion class]]){
            [manager startRangingBeaconsInRegion:(CLBeaconRegion *)region];
        }
    }
    
[/code]

上記の様にdidEnterRegion内でstartRangingBeaconsInRegionを呼び出し、

[code]

    - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region{
        for(CLBeacon *beacon in beacons){
            if([beacon.major intValue] == 1){
                //処理
            }
        }
    }
    
[/code]

didRangeBeacons内で判別が出来るはずです。

