位置经理不监控Beacons

时间:2015-04-14 16:36:34

标签: objective-c xcode geolocation cllocationmanager clbeacon

我没有获得信标区域的区域进入和退出事件。这就是我将信标添加到monitoredRegions的方法:

NSUUID *uuid = [[NSUUID alloc] initWithUUIDString: beacon.UUID];
CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:      uuid major: (CLBeaconMajorValue) beacon.major  minor: (CLBeaconMajorValue) beacon.minor  identifier:  @"SOME IDENTIFIER"];

[_locationManager startMonitoringForRegion: region];

和事件:

- (void) locationManager: (CLLocationManager *) manager didEnterRegion:   (CLRegion *) region
{
    NSLog(@"entered  beacon region");
}

- (void) locationManager: (CLLocationManager *) manager didExitRegion: (CLRegion *) region
{
    NSLog(@"exited beacon region");
}

没有为这个信标区域调用这些委托事件。

我已经使用地理区域进行了测试,但它确实有效,但它对我的灯塔不起作用。此外,我已经在同样的灯塔上测试了测距功能。

信标监控是否存在任何已知问题?

非常感谢

1 个答案:

答案 0 :(得分:1)

嗨@ldsarria检查我为他工作的步骤

第1步:在.h文件中设置delgate CLLocationManagerDelegate

第2步:

locationManager = [[CLLocationManager alloc] init];
        locationManager.delegate = self;
        locationManager.desiredAccuracy = kCLLocationAccuracyBest;
        locationManager.distanceFilter = kCLDistanceFilterNone;

第3步:

NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"SOME IDENTIFIER"];
        CLBeaconRegion *region = [[CLBeaconRegion alloc] 
        initWithProximityUUID:uuid identifier:@"com.test.abc"];
                region.notifyEntryStateOnDisplay =YES;
                [locationManager startMonitoringForRegion:region];

第4步: 设置NSLocationAlwaysUsageDescription =“此应用程序需要您的位置来寻找宝藏。”

干杯!!!