Обновление 2
Это не должно иметь значения, но попробуйте включить уведомления об ориентации:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(detectOrientation) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
Обновление
Мой плохой, я предполагал, что это было пусто.
Попробуйте удалить оператор or и просто проверить единственную ориентацию. Посмотри, исправит ли это. Может быть, есть проблема с скобками или что-то глупое.
У меня есть следующий тест, работающий в рабочем коде, поэтому ваша техника должна работать:
if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) ||
([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {
}
Оригинальный ответ
Вы должны фактически поместить операторы в блоки if, чтобы получить его.
Отладчик достаточно умен, чтобы пропускать пустые блоки.