2016-10-08 33 views
1

僅當在物理設備上進行調試時纔會發生在iOS 10中的有趣錯誤。它不會在模擬器中發生,也不會在物理設備上運行(不調試時)。它也不會發生在任何情況下的iOS 9設備上......只有iOS 10在調試時以及執行任何JavaScript調用之後。WKWebView錯誤在調試時調用iOS 10中的任何JavaScript

我有一個混合的web應用程序,寫在Swift 2.3中,xwebview加載後,我調用各種javascript方法......實際上,在這種情況下。無論如何,在JavaScript方法完成後,我得到一個malloc錯誤,說我試圖釋放一個指針。

malloc: *** error for object 0x1740b5060: pointer being freed was not allocated 
*** set a breakpoint in malloc_error_break to debug 

因此,我設置了斷點......並且它從不中斷斷點,它只是告訴我設置斷點。

如果我刪除了所有的javascript調用,那麼這個錯誤就不會發生。我已經嘗試過讓它們一個接一個,沒關係,它們在回調返回之後都會中斷。

我已經在這之後約2周,我沒有額外的頭髮拔出。在這一點上,我很想聽聽別人是否看到同樣的事情。

+0

我遇到了同樣的問題。在使用Swift 3之前,一切正常。當我從我的js函數中刪除參數時,錯誤似乎消失了。不幸的是,到目前爲止,我可以找到解決這個問題的任 – Silicium

回答

5

它看起來像一個Safari瀏覽器的bug,因此只有當你用safari調試你的webview時纔會出現。在Safari下的Develop-> Your_Device_Name 取消勾選「自動顯示Web Inspector for JSContexts」。 這應該可以解決您的問題。

+0

謝謝,就是這樣。我有點慢,但我也開始注意到,當Safari沒有運行時,錯誤沒有發生......這導致你的修復。 –