2016-04-30 2 views
-2


Я хочу знать, как определить, если iPhone переехал в последние 60 секунд, используя быстрое
как обнаружить, если телефон был перемещен

Я наткнулся на этот код ниже, но только работает, когда телефон встряхивают.
Можно ли обнаружить, когда телефон перемещен, но не сильно встряхнут?

override func motionEnded(motion: UIEventSubtype, 
          withEvent event: UIEvent?) { 
     if motion == .MotionShake { 
      let controller = UIAlertController(title: "Shake", 
              message: "The device is shaken", 
              preferredStyle: .Alert) 

      controller.addAction(UIAlertAction(title: "OK", 
       style: .Default, 
       handler: nil)) 

      presentViewController(controller, animated: true, completion: nil) 

     } 

} 
+0

Не могли бы вы описать более полно, что считается «тронутым»? Какова минимальная величина движения, которая должна срабатывать при перемещении? – nhgrif

+0

Вы можете получить доступ к акселерометру или гироскопу и т. Д. Https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/motion_event_basics/motion_event_basics.html – Gruntcakes

+0

перемещенным, я имею в виду, что на столе нет , таблица или т. д. – borna

ответ

1

Я думаю, что вы будете нуждаться, чтобы использовать акселерометр и применять умеренный фильтр низких частот на выходе, так что вы игнорировать очень постепенное изменение, но подцепить умеренное ускорение. Вы должны иметь возможность настроить порог.

Предлагаю выполнить поиск на «фильтр низких частот ионизатора». Вам нужно будет написать свой собственный код.

Смежные вопросы