内startDeviceMotionUpdatesToQueueを呼び出すときに、私は怠惰なインスタンス化を行う、私はそのゲッターでCMMotionManager
私のルートコントローラでは、コントローラ
@property (strong, nonatomic) CMMotionManager *MManager;
のプロパティを持たOSSpinLockLockを取得します。場合は、コントローラのビューのロード、私は私のミスは何ですか?
libsystem_platform.dylib`spin_lock$VARIANT$mp:
0x39a87814: movs r1, #1
libsystem_platform.dylib`OSSpinLockLock$VARIANT$mp + 2:
0x39a87816: ldrex r2, [r0]
0x39a8781a: cmp r2, #0
0x39a8781c: it ne
0x39a8781e: bne.w 0x39a893ec ; _OSSpinLockLockSlow$shim
0x39a87822: strex r2, r1, [r0]
0x39a87826: cmp r2, #0
0x39a87828: bne 0x39a87816 ; OSSpinLockLock$VARIANT$mp + 2
0x39a8782a: dmb ish
0x39a8782e: bx lr
私が見
NSLog
に「アウェイ私達は行く」と、すぐにアプリがクラッシュすると、私はこのスレッドのログを取得
- (void)reloadAccelerometer {
NSLog(@"Away we go");
self.MManager.deviceMotionUpdateInterval = 10.0/60.0;
[self.MManager startDeviceMotionUpdatesToQueue:self.queue withHandler:^(CMDeviceMotion *motion, NSError *error) {
NSLog(@"Y values is: %f", motion.userAcceleration.y);
}];
}
このメソッドを呼び出しますか私は
reloadAccelerometer
を間違った場所に置いたのですか?
うわー、華麗な答え!ありがとうRazorSharp :) –