iPhone3GSはブロックキューをサポートしていますか?
-
27-10-2019 - |
質問
iOS5.0を実行しているiPhone3gsで私のコードの一部で問題に遭遇しています
次のブロックが実行されることはありません, 、iOS5.0を使用してiPhone4で問題なく呼ばれますが。
ログステートメントが表示されることはなく、ブレークポイントがトリガーされることはありません。私はチェックしました、そして、モーションマネージャーとキューの両方がnullではありません。
[motionManager startDeviceMotionUpdatesToQueue:motionQueue withHandler:^(CMDeviceMotion *motion, NSError *error) {
NSLog(@"motion event received");
//...
}];
私は何かが足りないのですか、それともブロックキューなしで動作するようにコードを書き直す必要がありますか?
USSUEに関するご意見をお寄せいただきありがとうございます!
アップデート:
この方法をチェックしましたが、機能します。
[motionManager startAccelerometerUpdatesToQueue:motionQueue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
NSLog(@"accelerometerData event received");
}];
解決
これはブロックキューとは何の関係もありません。あなたの問題は、デバイスモーションイベントが加速度計とジャイロスコープの両方を必要とすることだと思います(そして、 -deviceMotionAvailable
)、しかし、iPhone 3GSにはジャイロスコープがありません。したがって、ブロック以外のデバイスモーションメソッドでさえも機能しません。加速度計のみがあなたのニーズに十分であるかどうかを確認する必要があります。それ以外の場合は、ジャイロスコープを必要とするためにアプリを制限する必要があります。
所属していません StackOverflow