presentViewController 模态切换出现问题
接入一个第三方SDK, 调用方式为模态切换弹出新界面.
此时报错
2018-06-07 14:27:56.502631+0800 sandbao[4583:1246274] -[UIWindow presentViewController:animated:completion:]: unrecognized selector sent to instance 0x113e00ec0
2018-06-07 14:27:56.514203+0800 sandbao[4583:1246274] invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.
估计是该SDK调用模态切换时, 从keyWindow去寻找调用,(sdk入参确实没有提供当前视图控制器对象)
解决方案 (AppDelegate.m中)
//AppDelegate.m中 对window添加了一个UIImgeView视图,导致kewWindow.subViews数组中多出一个UIImgeView
UIImageView *imgv = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds];
imgv.image = [UIImage imageNamed:@"Stars"];
[self.window addSubview:imgv];
改成
//添加底图Layer
UIImage *img = [UIImage imageNamed:@"Stars"];
self.window.layer.contents = (id)img.CGImage;
问题解决