iOS UIWebView崩溃

WebActionDisablingCALayerDelegate类找不到相应的方法实现,提示 [WebActionDisablingCALayerDelegate willBeRemoved]: unrecognized selector sent to instance xxxxx

用weibiew加载html的时候,如果CSS文件里边用到了这个属性:
-webkit-overflow-scrolling: touch(这个属性是实现弹性的滑动,类似scrollview的bounces效果);加载的时候,会提示这个错误,如果你不打全局断点,程序是不会崩溃的,如果有,就会崩溃.

解决办法:
1----html里面去掉这个属性,如果不去掉也没事,真机运行不会崩溃
2----用WKWebView来代替UIWebView
3----报错是说类找不到相应的方法实现,那么可以自己实现一下,给UIWebView增加一个category,用runtime来给这个类添加这个方法实现

+ (void)load {

  Class class = NSClassFromString(@"WebActionDisablingCALayerDelegate");
  class_addMethod(class, @selector(setBeingRemoved), setBeingRemoved, "v@:");
  class_addMethod(class, @selector(willBeRemoved), willBeRemoved, "v@:");
  class_addMethod(class, @selector(removeFromSuperview), willBeRemoved, "v@:");
 }

id setBeingRemoved(id self, SEL selector, ...) {
   return nil;
}

id willBeRemoved(id self, SEL selector, ...) {
  return nil;
}

你可能感兴趣的:(iOS UIWebView崩溃)