transitionWithView is intended to animate subviews of the specified container view. It is not so simple to animate changing the root view controller. I’ve spent a long time trying to do it w/o side effects. See:
Animate change of view controllers without using navigation controller stack, subviews or modal controllers?
EDIT: added excerpt from referenced answer
[UIView transitionFromView:self.window.rootViewController.view
toView:viewController.view
duration:0.65f
options:transition
completion:^(BOOL finished){
self.window.rootViewController = viewController;
}];