最近將UIWebView替換成WKWebView芝囤,本來挺歡的雹拄,后來做深了之后收奔,各種各樣奇葩的問題接二連三的出現(xiàn),實在令人崩潰滓玖,后來各種谷歌百度找解決方法,下面是自己遇到的坑质蕉,記錄下來供有需要的參考势篡。
-
問題:[WKCustomProtocolLoader connectionDidFinishLoading:] 報錯
解決:WKWebViewConfiguration 的 processPool 要設(shè)置成單例模式import <WebKit/WebKit.h>
@interface WKProcessPool (SharedProcessPool)
- (WKProcessPool*)sharedProcessPool;
@end
import "WKProcessPool+SharedProcessPool.h"
@implementation WKProcessPool (SharedProcessPool)
- (WKProcessPool)sharedProcessPool {
static WKProcessPool SharedProcessPool;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
SharedProcessPool = [[WKProcessPool alloc] init];
});
return SharedProcessPool;
}
@end
webConfig.processPool = [WKProcessPool sharedProcessPool];
- (WKProcessPool*)sharedProcessPool;
scrollView的delegate為強引用,在跳轉(zhuǎn)到下一個頁面后引發(fā)崩潰
處理:viewWillDisappear模暗、dealloc 設(shè)置
self.webView.scrollView.delegate = nil;
viewWillAppear 的時候 重新設(shè)置 self.webView.scrollView.delegate = self;ios 10.2 系統(tǒng)下禁悠,Safari開啟了JSContexts檢查,報以下錯誤
處理:關(guān)閉手機safari的web檢查器
以上3個崩潰的出現(xiàn)兑宇,控制臺里會出現(xiàn)打印空指針信息 pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug 碍侦,無再多其他有用的信息,但愿你們沒遇到吧隶糕,反正我已經(jīng)被折磨得成仙了>_<
還有遇到其他更奇葩的崩潰瓷产,歡迎反饋上來。