最近遇到一個很頭疼的問題,就是Xcode7.3.1在加斷點debug的時候會無限轉菊花然后Xcode卡死。
先試了通用的解決辦法,就是打開.xocdeproj
文件將里面的Breakpoints_v2.xcbkptlist
文件刪除并重啟xcode,可是依然沒有效果。
分析一下我們的項目,我是準備在webview的回調中斷點,查看h5與Native通訊的數據,大概代碼如下:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
...
[self.delegate callBusinessFunction:params];
...
}
在callBusinessFunction
方法中有很多的業務處理邏輯,我是在里面打的斷點準備查看數據的,結果Xocde就卡死了。后來實在不明真相的我做了了如下的修改,結果就好了:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
...
dispatch_async(dispatch_get_main_queue(),^{
[self.delegate callBusinessFunction:params];
});
...
}
將整個回調方法扔進主線程就可以斷點了...目前沒有明白具體原因,先記下來日后再更新真相。