Поддерживает ли iPhone3GS очереди блоков? - PullRequest
1 голос
/ 17 февраля 2012

У меня проблема с некоторым кодом на iPhone3GS под управлением iOS5.0

Следующий блок никогда не выполняется , даже если на iPhone4 с iOS5 он вызывается нормально.0.

Оператор журнала никогда не появляется, и точка останова никогда не срабатывает.Я проверил, и диспетчер движения и очередь не равны нулю.

  [motionManager startDeviceMotionUpdatesToQueue:motionQueue withHandler:^(CMDeviceMotion *motion, NSError *error) {

            NSLog(@"motion event received");

//...
}];

Я что-то упустил или мне нужно переписать свой код, чтобы он работал без очередей блоков?
Спасибо за любой вклад в наше использование!

Обновление:

Я проверил этот метод, и он работает:

   [motionManager startAccelerometerUpdatesToQueue:motionQueue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
        NSLog(@"accelerometerData event received");
    }];

1 Ответ

3 голосов
/ 17 февраля 2012

Это не имеет ничего общего с очередями блоков.Я полагаю, что ваша проблема в том, что события движения устройства требуют как акселерометра, так и гироскопа (и могут запрашиваться с помощью -deviceMotionAvailable), но iPhone 3GS не имеет гироскопа.Таким образом, даже не блочные методы перемещения устройств не будут работать для вас.Вы должны посмотреть, достаточно ли одного акселерометра для ваших нужд;в противном случае вам придется ограничить свое приложение требованием гироскопа.

...