2014-10-03 56 views
9

我的應用程序使用sencha touch 2.4編寫,並使用最新版本的cordova。自iOS8以來,我遇到了一個隨機應用程序崩潰的問題。它只發生在我完全關閉應用程序,並且只是有時。在顯示啓動畫面後,崩潰似乎會直接發生。 sencha觸摸加載圖標不會出現,應用程序只是關閉。如果我嘗試再次打開該應用程序,它就會起作用。Sencha touch/cordova app在ios8啓動時隨機崩潰

我幾乎立即使用localstorage填充用戶名等,我試圖刪除它,因爲我讀它造成的問題,但它沒有幫助。

編輯: 經過調查我現在收到此錯誤:

[UIViewAnimationState release]: message sent to deallocated instance 0x17675080 

它出現在一個完全新的科爾多瓦/煎茶觸摸示例項目,並與iOS8上。 任何想法這可能是什麼原因? 有沒有關於如何調試此問題的任何提示?

編輯2: Sencha表示他們不會在下一個版本2.4.1之前正式支持ios8。 http://www.sencha.com/forum/showthread.php?292883-Touch-2.4.0-apps-crashing-on-iOS8

EDIT3: 我想我是可以通過以下鏈接中的aboved論壇線程的建議,以改善這一點。我更新了sencha touch,sencha cmd和cordova到最新版本並安裝了cordova的splashscreen-plugin。自從我沒有發生創業崩潰,希望這已經解決了這個問題。

+0

好的,這似乎與'Sencha Touch'和/或Cordova沒有直接關係,因爲這個https://bugzilla.xamarin.com/show_bug.cgi?id=23667錯誤報告在'Xamarin'證明。 'Xamarin'是一個用於構建原生移動應用的.NET框架,因此這證明它不是'Cordova/Phonegap'的錯誤,另外它們再現了將Web頁面加載到WebView中的錯誤,這證明它不是'Sencha Touch '錯誤。它似乎更可能是一個JavaScriptCore錯誤。 – 2014-10-29 10:32:51

回答

3

編輯24/03/2015

我們發現這個插件https://github.com/Telerik-Verified-Plugins/WKWebView使用新WKWebView,而不是舊的UIWebView,修正了隨機崩潰。


這似乎沒有直接關係,煎茶觸摸和或科爾多瓦,因爲這bug report上Xamarin證明。

Xamarin是一個用於構建原生移動應用程序的.NET框架,所以這意味着它不是Cordova/Phonegap錯誤,另外該錯誤記者轉載了加載http://www.xamarin.com網頁到WebView的錯誤,這證明它不是Sencha Touch bug 。他表示「這看起來更像是一個JavaScriptCore bug」。

錯誤報告的海報用外部網頁,jQuery Mobile應用程序和Sencha Touch設置了一些測試,發現不同的頁面以不同的速率使應用程序崩潰,特別是非常簡單的jQuery Mobile應用程序三者中更穩定。

於是,我就從我的煎茶應用app.json刪除所有的外部庫(它曾經依靠Chart.jsjQuery,和其他一些庫),我注意到,沒有包括它們的應用程序已經成爲更加穩定。

我重寫了那些需要那些庫的代碼部分,用純JavaScript重新實現了這些特性,並且做了一些測試,發現在外部庫加載時它會崩潰一半的時間,輕的版本崩潰1/50的時間(這些統計數據已從每個版本開始應用程序50次獲得)。

這些測試似乎表明該錯誤與正在加載到webview中的頁面的權重有關,頁面越輕,崩潰的可能性越小。

我希望這可以提供幫助,至少在Apple修復WebView之前提高應用程序的穩定性。