アプリケーションが一定時間操作されていないことを検知したい場合などに、UIWindowのsendEventをフックしたいことがあると思います。
その場合、UIWindowを継承したクラスを作成すればよいのですが、storyboardを用いたテンプレートを利用していると、AppDelegateがUIWindowを見えないところで作っているので、カスタムUIWindowに置き換える方法がよくわかりません。
調査したところ、下記コードをAppDelegateに埋め込むと、UIWindowを作成時に自動で呼び出されるので、カスタムUIWindowに置き換わりました。
- (UIWindowCustom *)window
{
static UIWindowCustom *customWindow = nil;
if (!customWindow) customWindow = [[UIWindowCustom alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
return customWindow;
}