UIApplicationRotationFollowingController

现象:

crash信息
-[UIApplicationRotationFollowingController tabBar]: unrecognized selector sent to instance 0x13136f380

分析:

为什么出现UIApplicationRotationFollowingController?
答:因为UIActionSheet是在新建的window上展示的,所以keyWindow已经改变了,无法通过[UIApplication sharedApplication].keyWindow获取rootViewController。

解决:

1、首先,获取rootViewController方式应该为:
UITabBarController *tab = (UITabBarController *)[UIApplication sharedApplication].delegate.window.rootViewController;
2、判断类型是否正确:
if (tab && [tab isKindOfClass:[UITabBarController class]]) {
  [tab.tabBar showBadgeOnItemIndex:1];
}

你可能感兴趣的:(UIApplicationRotationFollowingController)