var queue = NSOperationQueue();
tiltManager.startDeviceMotionUpdatesUsingReferenceFrame(
CMAttitudeReferenceFrameXArbitraryZVertical,
toQueue: queue,
withHandler: {
motion, error in
var x = motion.gravity.x;
self.physicsWorld.gravity = CGVectorMake(CGFloat(x * 9.8), -9.8);
println(x);
})
虽然大部分时间都有效,但有时候self.physicsWorld.gravity会出现EXC BAD ACCESS错误(每次运行时都不会出现)这很奇怪。我也在另一个线程上运行这个CoreMotion管理器(我对线程很新,几乎不知道它),我怀疑这是导致这个EXC BAD ACCESS的原因。