If there are multiple levels of indentation within blocks, vim-objc does not handle it correctly. It just handles one level. I have pasted a sample code snippet. Please, note that NSLog is not correctly indented.
-(void) test
{
dispatch_async(encoder_queue_, ^{
BOOL status=[self doSomething];
if(!status){
NSLog(@"Error message");
}
});
}