我正在尝试为多个地区的响铃信标构建应用。我找到了教程https://mentormate.com/blog/beacon-ranging-ios/并且我做了,但我不知道如何更新信标。
答案 0 :(得分:1)
教程show show在以下几行中执行多个信标区域的范围:
fn main() {
let text = "731671";
let v: Vec<u32> = text.chars().flat_map(|ch| ch.to_digit(10)).collect();
println!("{:?}", v);
}
请注意,// 4
let beaconRegions = [CLBeaconRegion(proximityUUID: NSUUID(UUIDString: "F7826DA6-4FA2-4E98-8024-BC5B71E0893E")!, identifier: "Kontakt"),
CLBeaconRegion(proximityUUID: NSUUID(UUIDString: "B9407F30-F5F8-466E-AFF9-25556B57FE6D")!, identifier: "Estimote")]
// 5
beaconRegions.forEach(manager!.startRangingBeaconsInRegion)
是一个包含两个区域定义的数组。您可以根据需要向此数组添加任意数量的区域定义,以区分多个区域。
该代码旨在使用检测到的任何新信标更新显示:
beaconRegions
beacons.forEach { beacon in
if let index = beaconList.indexOf({ $0.1.proximityUUID.UUIDString == beacon.proximityUUID.UUIDString && $0.1.major == beacon.major && $0.1.minor == beacon.minor }) {
beaconList[index] = (region, beacon)
} else {
beaconList.append((region, beacon))
}
}
// 3
tableView.reloadData()
行应该这样做。如果它不起作用,请检查您是否有该行,并在源中正确设置了以下beaconList.append((region, beacon))
。
同时检查您的新信标是否符合其中一个区域定义。
代码似乎没有任何机制可以删除从列表中消失的信标。