Does this mean it should be unwrapped?
Cannot convert value of type '(data: CMAccelerometerData!, err: NSError!) -> Void' to expected argument type 'CMAccelerometerHandler' (aka '(Optional, Optional) -> ()')
Why is CMAccelerometerData not compatible with accelerometerUpdateHandler?
// error
motionManager.startAccelerometerUpdatesToQueue(motionHandlingQueue, withHandler: accelerometerUpdateHandler())
// snip
func accelerometerUpdateHandler() -> (data: CMAccelerometerData!, err: NSError!) -> Void {
let idleThreshold = 0.1
var log = [Double]()
var samplingCountdown: Int = 0
return { (data: CMAccelerometerData!, err: NSError!) -> Void in
let _stable = abs(data.acceleration.x) < idleThreshold && abs(data.acceleration.y) < idleThreshold && data.acceleration.z < -0.75
CMAccelerometerData?, err: NSError?)
– Leo Dabusguard let data = data where error == nil else { return }
– Leo DabusmotionManager.startAccelerometerUpdatesToQueue(motionHandlingQueue, withHandler: accelerometerHandler)
– Leo Dabusfunc accelerometerHandler(data: CMAccelerometerData?, error: NSError?) -> Void { let idleThreshold = 0.1 var log = [Double]() var samplingCountdown: Int = 0 guard let data = data where error == nil else { return } let _stable = abs(data.acceleration.x) < idleThreshold && abs(data.acceleration.y) < idleThreshold && data.acceleration.z < -0.75 // the rest of your code }
– Leo Dabus