kontakt.io сканирование маяка через определенный промежуток времени - PullRequest
0 голосов
/ 27 сентября 2018

Я использовал kontakt.io для сканирования маяка (обнаружения).Согласно моему требованию, я использовал KTKDevicesManagerDelegate метода Kontakt.io. Я хочу сканировать маяк в течение некоторого определенного промежутка времени и по истечении этого времени прекратить сканирование и перезапустить сканирование процесса маяка.

Например: IЯ сканирую маяк каждые 5 минут (означает 300 секунд). Когда время составляет 4 минуты 30 секунд (означает 270 секунд), я начинаю сканирование в течение следующих 30 секунд с интервалом в 3 секунды. По истечении 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")
        }

    }

}

Проблема заключается в том, что, когда я подключаюсь к маяку, вызов времени didDiscover вызывает метод, когда время составляет от 270 до 300 секунд, но яотключаю маяк, что время didDiscover метод не вызывается.

...