2012-02-17 4 views
1

は、私はそれはiOS5.0とiPhone4の上に微細呼び出されるにもかかわらず、iOS5.0iPhone3GSはブロックキューをサポートしていますか?

を実行れることは決してありません、次のブロックを実行しているiPhone3GSの上で私のコードの一部で問題に実行していますよ。

ログステートメントは表示されず、ブレークポイントは決してトリガーされません。チェックして、モーションマネージャとキューの両方が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"); 
    }]; 

答えて

3

これはブロック・キューとは何の関係もありません。私はあなたの問題はデバイスの動きイベントが加速度計とジャイロスコープの両方を必要としていると信じています(そして-deviceMotionAvailableと照会できます)が、iPhone 3GSにはジャイロスコープはありません。したがって、非ブロックベースのデバイスモーションメソッドでさえあなたのためには機能しません。あなたは、加速度計だけであなたのニーズに十分かどうかを調べるべきです。それ以外の場合は、ジャイロスコープが必要なアプリを制限する必要があります。

関連する問題