when will [UIViewController disablesAutomaticKeyboardDismissal] be called?-Collection of common programming errors

The rest of the framework will call it at an undefined time before they need to know if the view controller in question disables automatic keyboard dismissal. Since your implementation of a UIViewController subclass (where you are meant to override it) should return either always YES or always NO, it doesn’t matter when it’s called.