2013-10-22 143 views
16

我有一款應用程序可以在iOS 6上完美工作,但在iOS 7上,如果用戶採取了非常具體的操作(太複雜但無法使用,但它使用的是UIWebView且一致),應用程序與錯誤崩潰:我在哪裏可以瞭解更多關於WebCoreSharedBufferData的信息?

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range:]: range {0, 8} exceeds data length 0' 

現在我很樂意做一些研究和實驗自己更多,但我只是找不到WebCoreSharedBufferData。谷歌搜索揭示了幾個人(如herehereherehere),他們有類似的問題,但他們的問題要麼沒有得到回答,要麼以某種方式使用他們的應用程序(如放大地圖或使用第三方代碼)我沒有做。

Xcode文檔從未聽說過WebCoreSharedBufferData,並且我的項目搜索沒有提及它。谷歌搜索也讓我失望,主要是問題和GitHub項目,我沒有使用第三方代碼。我假設這是蘋果UIWebView功能中的深度,但沒有能夠了解更多信息,我的操作很困難。

所以我的問題是:沒有人知道我在哪裏可以找到信息/教程/說明等WebCoreSharedBufferData?我覺得如果我能更好地理解它,我就能找到解決方案,只是很難在黑暗中進行調試......

或者,有沒有人只是直接瞭解什麼改變了WebCoreSharedBufferData iOS 7可能會造成這樣的錯誤?

編輯:由kcbanner提供線索,在下面的意見(誰也經歷了類似的問題):這兩個我們的問題涉及與畫布的網頁,並與畫布onclick事件。也許iOS 7中的畫布點擊處理有所改變?

+0

用戶採取的行動是什麼?我也有這個問題,並沒有成功追查觸發事件。 – kcbanner

+0

這是相當複雜和特定於應用程序,您需要訪問'UIWebView'中的某個頁面並調用該頁面上的某個JavaScript函數(與創建onclick事件並將Canvas圖層放置在一起) ),然後重新加載頁面並嘗試再次調用相同的'onclick'函數。我不是一個JS傢伙,這是一個非常奇怪的模式,所以我無法追蹤它,但是當你按照這些步驟時,崩潰發生在100%的時間。你呢? – Nerrolken

+1

類似的情況,我們利用畫布和點擊這些畫布上的事件。也許這是一個畫布點擊處理程序的錯誤。 – kcbanner

回答

0

如果您使用IOS我不會使用onClick。 IOS會讓你點擊並在onClicks上放置一些時髦的200毫秒延遲,從而導致有時會打破「webglue」。 JavaScript有一個完整的觸摸庫,我會使用,還有一些像Hammer.js將解決您的問題。另外,我會爲你的應用程序的webview組件使用phonegap(即使它不是完整的應用程序),因爲它們解決了許多怪癖/錯誤IOS與他們的本地webview(即使它僅用於網站瀏覽)。

1

我剛剛也遇到了這個錯誤。我的設置是phonegap 3.2和createjs 0.7.0,我從來沒有與ios6的問題,但ios7導致我適合。我的解決方案是使用一個畫布元素。我用png spritesheet位圖數據加載了兩個畫布元素並來回切換,現在我只是通過清除舊數據和添加新數據來重用相同的畫布元素。似乎已經解決了這個問題。仍然不明白爲什麼我不能有兩個畫布元素。

只是多一點...似乎這隻發生在我快速重新加載兩個畫布元素與PNG數據。我不認爲這是一個損壞的PNG的問題,因爲它會發生在每次不同的位圖上,現在我重用相同的畫布元素一切正常。

相關問題