Update 2
This shouldn't matter, but try turning on orientation notifications:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(detectOrientation) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
Update
My bad, I assumed it was empty.
Try removing the or statement and just test for a single orientation. See if that fixes it. Maybe there is a bracket problem or something silly.
I have the following test working in production code, so your technique should work:
if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) ||
([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {
}
Original Answer
You have to actually put statements in the if blocks to get it to step in.
The debugger is smart enough to skip over empty blocks.