gpt4 book ai didi

ios - 当我在该地区时,CLRegionState 是未知的

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:37 30 4
gpt4 key购买 nike

我正在测试 iBeacon,我使用了 didDetermineState: 方法,当我在区域内时,CLRegionStateCLRegionStateUnknown,谁能告诉我为什么?

当我为 CLBeaconStateUnknown 设置蓝牙时,我的蓝牙已打开并检测到信标,发送方和接收方都在范围内(1 米),这是我的实现

-(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");//not logging
break;
case CLRegionStateOutside:
NSLog(@"OUTSIDE the Region");
break;
case CLRegionStateUnknown:
default:
NSLog(@"Region state UNKNOWN!!!"); //Logging on console
statusLabel.text = @"Region state UNKNOWN!!!";
//[self.locationManager stopRangingBeaconsInRegion:beaconRegion];
[self.locationManager startRangingBeaconsInRegion:beaconRegion];//Suceessfully ranging the beacon

break;
}
}

最佳答案

你说你在“区域内”,但你怎么知道 iBeacon 真的被检测到了?蓝牙是否已打开并正常工作?出现提示时用户是否允许位置访问?

我会启用 iBeacon 测距并记录检测到的任何内容,以验证您的设备是否真的看到 iBeacon。我怀疑您会发现您没有检测到任何东西,或者 iBeacon.proximity 字段可能会由于校准错误而返回 CLProximityUnknown

didDetermineState 会得到一个额外的调用,即使在您开始监控时没有检测到信标(或者如果您在 notifyEntryStateOnDisplay=YES 设置为 on 时唤醒屏幕)你所在的地区)。这是我认为您可能获得 CLRegionStateUnknown 值的唯一情况。我从来没有见过这个值返回,所以我很好奇它是在什么条件下发生的。找到我上面问题的答案可能会解决这个问题。请反馈!

关于ios - 当我在该地区时,CLRegionState 是未知的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21671062/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com