我已经使用kontakt.io进行信标扫描(检测)。根据我的要求,我使用了Kontakt.io方法的KTKDevicesManagerDelegate
。我想扫描信标
在特定的时间间隔内,在该时间之后停止扫描,然后重新开始信标进程扫描。
例如: 我每5分钟扫描一次信标(平均300秒)。当时间为4分30秒(平均270秒)时,我开始以3秒的时间间隔扫描下一个30秒.5分钟后,我停止扫描信标并继续上述过程。
分配didFinishLaunching
。
Defaults.setValue(Date(),forKey:“ ScanningDate”)
func scanningBeaconManually()
{
if let Time = Defaults.value(forKey: "ScanningDate") as? Date
{
print("TimeChecked \(Time)")
let startScanningDate:Date = Time
let endScannigDate:Date = Date()
print("endScannigDate \(endScannigDate)")
let second = Int(endScannigDate.timeIntervalSince(startScanningDate))
print("second : \(second)")
if second > 270 && second < 300
{
print("startScnning")
devicesManager.startDevicesDiscovery(withInterval: 3)
if second > 300
{
Defaults.setValue(Date(), forKey: "ScanningDate")
devicesManager.stopDevicesDiscovery()
}
}
if second > 300
{
devicesManager.stopDevicesDiscovery()
Defaults.setValue(Date(), forKey: "ScanningDate")
}
}
}
问题是,当我在时间介于270到300秒之间连接信标时调用该时间didDiscover
方法,但是我断开信标时未调用该时间didDiscover
方法。