Я сделал это, написав категорию на UIViewController. Таким образом, вам не нужно ничего создавать подклассами, вы можете реализовать это, даже если пользовательский интерфейс уже завершен.
В моей реализации VC будут реагировать на сотрясение , если только конкретный VC не отключил механизм. Отказ осуществляется путем установки BOOL ivar на NO в конкретной реализации. Механизм встряхивания будет искать этот ивар с помощью кодирования значения ключа и игнорировать дрожание, если ивар был установлен.
Я бы уточнил это, разрешив отвечать только VC, который в данный момент виден.