- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法找出 altBeacon 的主要值和次要值?我正在使用这个库 ( https://github.com/CharruaLab/AltBeacon ) 来检测附近的 BLE 设备(无论是否有信标)。检测到信标,我知道它们的 uuid。我可以使用 iOS CoreBluetooth 框架提取主要值和次要值吗?
更新:代码看起来不错。看起来找出主要或次要的唯一方法是请求信标的数据,因为它在下面接受的答案中完成。但是在这种情况下,信标本身不一定会响应您。
最佳答案
覆盖下面的 CLLocationManager
委托(delegate)方法,当您能够检测到信标时,将调用此方法。
-(void)locationManager:(CLLocationManager*)manager
didRangeBeacons:(NSArray*)beacons
inRegion:(CLBeaconRegion*)region {
// Beacon found!
CLBeacon *foundBeacon = [beacons firstObject];
// You can retrieve the beacon data from its properties
NSString *uuid = foundBeacon.proximityUUID.UUIDString;
NSString *major = [NSString stringWithFormat:@"%@", foundBeacon.major];
NSString *minor = [NSString stringWithFormat:@"%@", foundBeacon.minor];
}
要使用 Core 定位框架检测信标,您需要在 viewDidLoad
方法中添加以下代码。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Initialize location manager and set ourselves as the delegate
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
// Create a NSUUID with the same UUID as the broadcasting beacon
NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"];
// Setup a new region with that UUID and same identifier as the broadcasting beacon
self.myBeaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid
identifier:@"com.app.identifier"];
// Tell location manager to start monitoring for the beacon region
[self.locationManager startMonitoringForRegion:self.myBeaconRegion];
// Check if beacon monitoring is available for this device
if (![CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Monitoring not available" message:nil delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil];
[alert show];
}
}
使用两个委托(delegate) CBCentralManagerDelegate
和 CBPeripheralDelegate
扩展 View Controller
在 viewDidLoad
中创建 CBCentralManager
对象。
_centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
并覆盖以下方法(scan
方法除外):
- (void)centralManagerDidUpdateState:(CBCentralManager *)central {
if (central.state != CBCentralManagerStatePoweredOn) {
return;
}
// The state must be CBCentralManagerStatePoweredOn...
// ... so start scanning
[self scan];
}
- (void) scan {
// UUID for peripheral services
[self.centralManager scanForPeripheralsWithServices:[NSArray arrayWithObject:[CBUUID UUIDWithString:@"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX"]] options:nil];
NSLog(@"Scanning started");
}
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI {
NSLog(@"Discovered %@ at %@", peripheral.name, RSSI);
if (self.discoveredPeripheral != peripheral) {
// Save a local copy of the peripheral, so CoreBluetooth doesn't get rid of it
self.discoveredPeripheral = peripheral;
// And connect
NSLog(@"Connecting to peripheral %@", peripheral.UUID);
[self.centralManager connectPeripheral:peripheral options:nil];
}
}
- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral {
NSLog(@"Peripheral Connected");
// Stop scanning
[self.centralManager stopScan];
NSLog(@"Scanning stopped");
// Make sure we get the discovery callbacks
peripheral.delegate = self;
[peripheral discoverServices:nil];
}
关于ios - iOS 下 altBeacons 上的 Major 和 Minor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582532/
我在音乐项目中遇到了一个小的审美问题,它一直困扰着我一段时间。 我有一个类型 data Key = C | D | ...我可以构造一个 Scale来自 Key和 Mode . Mode区分例如大调和
我有两个 c++ 函数 (foo, goo) 在坐标存储格式中使用稀疏矩阵,也就是说,矩阵由 3 个数组给出:row_index[nnz]、column_index[nnz]、value[nnz]其中
将多维数组以行优先或列优先方式存储在内存中有什么区别? 据我所知,'C' 似乎遵循 Row Major 风格。 出于好奇,我想知道,一种风格比另一种风格有什么好处吗? 最佳答案 一般来说,您可以互相模
我遇到过这个问题,我有点困惑。给出了两个代码,并询问哪个需要更多时间或者两者是否需要相同的时间。代码是: void sumCal(int n,int a[][]){ int sum=0;
多数提交数据和多数提交数据的快照之间有什么区别,我应该关心它吗?如果这两个概念完全不同,何时以及如何选择一个? 我在阅读有关 mongodb 中事务的引用时发现了这些描述:https://docs.m
我正在尝试使用 NSArrays 和 NSPredicates 来过滤 UITableView 的某些单元格。我有一个名为 FilterTable 的 TableViewController 类,它由
我正在尝试将我的 ant 项目从 java 7 升级到 java 8。 (该项目部署在“Eclipse Kepler”中,带有“Java™ 8 support to Eclipse Kepler SR
我正在为多数元素问题编写一个分而治之的解决方案,如果 n 个整数序列中有一个元素出现超过 n/2 次,则它必须输出 1,否则输出 0。我的代码适用于我能想到的任何测试用例,但评分系统一直说它为测试用例
我想知道是否有办法在 ggplot2 中以特定角度旋转 panel.grid.major.x 线?我在文档中看到它使用 element_line但它没有 angle参数对应于 theme 中轴.tit
由于获得major.minor.release格式,我正在尝试更改svn修订号。 在我的配置中,每次提交时 svn 修订号都会增加 1。 应该可以改吧? 我正在研究如何使用 perl 来做到这一点,但
当前,每当更新到较新的版本号时,所有升级都可以正常工作,但是降级时却出现了奇怪的现象。似乎它将卸载现有版本,然后部分安装我要安装的版本,主exe在目标位置尚不存在,但会创建公告的快捷方式。打开宣传的快
John Major 等式是否可以证明函数外延性(可能依赖于安全公理)? Goal forall A (P:A->Type) (Q:A->Type) (f:forall a, P a) (g:fora
在对HBase进行重大压缩期间,将对HFiles进行分组,最后将具有单个HFile。如何在编程中动态验证压缩的结果。 最佳答案 步骤1.创建表 create 'mytable', 'col1' 步骤2
根据问题,我们必须找出一个元素是否出现超过 n/2 次,然后相应地打印 Yes 或 No。数字可以从 10^-3 到 10^3 不等。 我取了一个数组 count[2005],然后将 1000 添加到
我正在尝试为 Android 开发 BLE 应用程序。 有什么方法可以检测和读取 Android 设备上的 Beacon 的 UDID、Major、Minor? 我已经阅读了 RadiusNetwor
概念: ● 新生代 GC(Minor GC):从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,因为 Java 对象大多都具备朝生夕灭的特性,所以 Minor
我正在阅读 Raft paper并关注 secret life of data visualisation似乎多数在 Raft 中至关重要,无论是领导选举还是追加条目请求。 我的问题是节点首先如何知道
读了几次文档,但仍然无法理解“多数”和“线性化”行为的差异 read concerns : "majority" The query returns the instance’s most recen
我在 a similar Stack Overflow thread 上找到了这个主题. 在 C++ 中,当你创建一个数组 int[i][j] 时,你会得到行的主要顺序,因此按行迭代将为你提供包含更多
为什么这个装饰器策略被认为是不好的? (..或者是!?) class User(object): def __init__(self): self.thing = 5
我是一名优秀的程序员,十分优秀!