0
我試圖爲多個區域的響鈴信標構建一個應用程序。我發現教程https://mentormate.com/blog/beacon-ranging-ios/,我做到了,但我不知道如何更新信標。多個區域的快捷範圍信標
我試圖爲多個區域的響鈴信標構建一個應用程序。我發現教程https://mentormate.com/blog/beacon-ranging-ios/,我做到了,但我不知道如何更新信標。多個區域的快捷範圍信標
教程顯示節目做範圍多個信標區域中的以下方針:
// 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))
線應該做到這一點。如果它不起作用,請檢查您是否有該行,並在源代碼中正確設置了以下tableView.reloadData()
。
還要檢查您的新信標是否與某個區域定義匹配。
它似乎沒有代碼有任何機制來消除從列表中消失的信標。
你是什麼意思「更新信標」? – Larme
我的意思是當我啓動應用程序時,它顯示在我附近的信標。但是如果我關閉另一臺電源的信號燈或電源,應用程序不會更新列表。因爲只做一次。 – xcocoader