我有以下快速代码,我试图测试 CMMotionManager 是否正常工作,但每次我在模拟器上使用摇晃手势时,结果都不是我所期望的,而是撤消绑定通知。
let manager = CMMotionManager()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if manager.deviceMotionAvailable {
manager.deviceMotionUpdateInterval = 0.02
manager.startDeviceMotionUpdatesToQueue(NSOperationQueue.mainQueue()) {
[weak self] (data: CMDeviceMotion?, error: NSError?) in
if data?.userAcceleration.x < -2.5 {
self?.resLabel.text = "Shaked"
}
}
}
}
模拟器不模拟任何运动。您必须使用物理设备来使用CMMotionManager测试任何内容。