0

我最近购买了我看过很多演示但无法检测到该设备的 estimote。

这是我的代码

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self
                                                                     queue:nil
                                                                   options:nil];


    //Set location managaer delegate
    self.locationManager = [[CLLocationManager alloc] init];
    self.locationManager.delegate = self;


   NSUUID* uuid = [[NSUUID alloc] initWithUUIDString:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D"];

    // Setup a new region with that UUID and same identifier as the broadcasting beacon
    self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"testRegion"];
    self.beaconRegion.notifyEntryStateOnDisplay = YES;
    self.beaconRegion.notifyOnEntry = YES;
    self.beaconRegion.notifyOnExit = YES;
 [self.locationManager startMonitoringForRegion:self.beaconRegion];
[self.locationManager startRangingBeaconsInRegion:self.beaconRegion];
    // Do any additional setup after loading the view, typically from a nib.
}

// 委托方法返回区域状态 UNKNOWN!!!

-(void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region
{

    switch (state) {
        case CLRegionStateInside:
            currentBeconRegion = (CLBeaconRegion *)region;
            [self.locationManager startRangingBeaconsInRegion:currentBeconRegion];
            NSLog(@"INSIDE the Region");
            break;
        case CLRegionStateOutside:
            NSLog(@"OUTSIDE the Region");
            break;
        case CLRegionStateUnknown:
        default:
            NSLog(@"Region state UNKNOWN!!!");
            [self.locationManager stopRangingBeaconsInRegion:self.beaconRegion];
            break;
    }
}

// 输入区域

    -(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
    //check if we're ranging the correct beacon
    if (![self.beaconRegion isEqual:region]) { return;}

    NSLog(@"didEnterRegion");
    if([region isKindOfClass:[CLBeaconRegion class]])
    {
        currentBeconRegion = (CLBeaconRegion *)region;
        if ([beaconRegion.identifier isEqualToString:@"testRegion"])
        {

            //send local notificaation
            UILocalNotification *notice = [[UILocalNotification alloc] init];
            notice.alertBody = @"Becoan Found!!!";
            notice.alertAction =@"View";
            [[UIApplication sharedApplication] presentLocalNotificationNow:notice];

            //srart raning beacon region
            [self.locationManager startRangingBeaconsInRegion:currentBeconRegion];


        }
    }

}

我错过了什么?我如何更改 ProximityUUID。

4

1 回答 1

1

只需在方法的底部再添加一行viewDidLoad

 [self.locationManager startMonitoringBeaconsInRegion:self.beacon region];
于 2014-06-02T11:14:31.947 回答