升级Cordova6.1后,测试ios 10手机系统,发现闪退,调试发现是ios内部写法不严谨导致的。
原因如下:
在CDVViewController. m 的 viewDidLoad 中,未经系统版本判断,直接使用 colorNamed 方法设置颜色,此方法在ios11之后才有,所以导致程式崩溃,解决方案如下:
// ///////////////// 調整ios 10 閃退
UIColor* bgColor = [[UIColor alloc]init];
if (@available(iOS 11.0,*)) {
//此方法是 ios 11之後才有的,cordova未經版本判斷,直接崩潰
bgColor = [UIColor colorNamed:@"BackgroundColor"] ?: UIColor.whiteColor;
}else{
bgColor = [UIColor whiteColor];
}
网友评论