Я думаю, что у меня была та же проблема, что и у Доблера, но мое решение было другим.
Проблема заключалась в том, что таймер создавался и планировался в потоке GCD в блоке в пределах
* 1004.*
вызов (на самом деле вложенный глубоко, поэтому не было очевидно, что это так).
Использование NSTimer's scheduledTimerWithTimeInterval:...
поместило таймер в недопустимый цикл выполнения.
Исправлениедолжен был измениться на
timer = [NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(...) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];