多个地区的快速范围信标

时间:2017-04-20 10:06:02

标签: ios swift ibeacon

我正在尝试为多个地区的响铃信标构建应用。我找到了教程https://mentormate.com/blog/beacon-ranging-ios/并且我做了,但我不知道如何更新信标。

1 个答案:

答案 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))

同时检查您的新信标是否符合其中一个区域定义。

代码似乎没有任何机制可以删除从列表中消失的信标。