0
저는 Estimote 비콘을 작업하고 가장 가까운 비컨 (부전공 및 중요 값)을 찾기 위해 데모 앱을 만들고 있습니다. 하지만 내가 추정 예를 응용 프로그램을 확인하면 적절한 주요 및 사소한 가치를 얻고 있지만 내 프로젝트에서 그 코드를 사용할 때 그것은 나에게 잘못된 사소한 주요 가치를 부여.추정치 비콘의 부차적 및 주요 값 얻기
여기 내 코드입니다 : - 사전에
typedef enum : int
{
ESTScanTypeBluetooth,
ESTScanTypeBeacon
} ESTScanType;
- (id)initWithScanType:(ESTScanType)scanType completion:(void (^)(ESTBeacon *))completion
{
self = [super init];
if (self)
{
self.scanType = scanType;
self.completion = [completion copy];
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.beaconManager = [[ESTBeaconManager alloc] init];
self.beaconManager.delegate = self;
self.region = [[ESTBeaconRegion alloc] initWithProximityUUID:[[NSUUID alloc] initWithUUIDString:BEACONUUID1]
identifier:@“AllBeacons”];
if (self.scanType == ESTScanTypeBeacon)
{
[self.beaconManager startRangingBeaconsInRegion:self.region];
}
else
{
[self.beaconManager startEstimoteBeaconsDiscoveryForRegion:self.region];
}
// Do any additional setup after loading the view from its nib.
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
/*
*Stops ranging after exiting the view.
*/
[self.beaconManager stopRangingBeaconsInRegion:self.region];
[self.beaconManager stopEstimoteBeaconDiscovery];
}
#pragma mark - ESTBeaconManager delegate
- (void)beaconManager:(ESTBeaconManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(ESTBeaconRegion *)region
{
self.beaconsArray = beacons;
[tblView reloadData];
}
- (void)beaconManager:(ESTBeaconManager *)manager didDiscoverBeacons:(NSArray *)beacons inRegion:(ESTBeaconRegion *)region
{
self.beaconsArray = beacons;
[tblView reloadData];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
__weak BeconsDetailCell *cell=(BeconsDetailCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"BeconsDetailCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
ESTBeacon *beacon = [self.beaconsArray objectAtIndex:indexPath.row];
//beacon name
cell.lblBeaconname.text = @"Estimote Beacon";
//Beacon major
NSString *strMajor = [NSString stringWithFormat:@"%@",beacon.major];
strMajor = [strMajor stringByReplacingOccurrencesOfString:@"-" withString:@""];
cell.lblBeaconMajor.text = strMajor;
//Beacon minor
NSString *strMinor = [NSString stringWithFormat:@"%@",beacon.minor];
strMinor = [strMinor stringByReplacingOccurrencesOfString:@"-" withString:@""];
cell.lblBeaconMinor.text = strMinor;
//Beacon distance
switch (beacon.proximity)
{
case CLProximityUnknown:
cell.lblBeaconDistance.text = @"Unknown";
break;
case CLProximityFar:
cell.lblBeaconDistance.text = @"Far";
break;
case CLProximityNear:
cell.lblBeaconDistance.text = @"Near";
break;
case CLProximityImmediate:
cell.lblBeaconDistance.text = @"Immediate";
break;
default:
break;
}
return cell;
}
감사합니다.
감사를 사용해야하지만, 문제는 내가 잘못된 비콘 크고 작은 값을 얻고 있다는 점이다. – Rushabh
몇 개의 표지가 있습니까? 비컨을 발견하면 배열을 다시로드하기 만합니다. 배열의 재정렬이 가능할 수 있습니다. 또한 당신이 잘못해서 무엇을 의미합니까? 다른 번호? 제로? – Paulw11