2014-08-29 43 views
0

我正在用Magtek uDynamo讀卡器的插件構建一個Cordova應用程序。我恢復時崩潰。iOS Cordova應用程序在Resume上崩潰

如果我從未打電話給讀卡器(或從不暫停/恢復),該應用程序工作正常。

我使用了殭屍分析器,這是錯誤消息 - 一個Objective-C消息被髮送到地址爲0x17522260的釋放的'MTSCRA'對象(殭屍)。

我檢查了我正在使用ARC並將日誌語句全部通過我的本地插件代碼來確保MTSCRA對象永遠不爲NULL。崩潰轉儲沒有給出任何回溯,異常斷點落在機器代碼中。

我在iOS/Cordova還是很新的,所以請讓我知道是否有其他的調試工具可以使用,或者我應該發佈一些代碼來幫助診斷問題。

編輯:響應添加額外的信息,以低於

評論這裏的流通式 1.運行讀卡器頁 2.打開網頁W/O讀卡器(讀卡器斷開) 3.暫停,恢復頁面上 4.完成工作的W/O卡讀卡器 5.重定向到頁面讀卡器(讀卡器應該連接) 6.崩潰

+0

我會嘗試猜測。你已經提到了'第5步。重定向到讀卡器頁面。你自己創建了插件還是第三方插件?頁面是兩個不同的頁面還是單頁面應用程序。我的意思是重定向頁面帶有讀卡器腳本的單獨HTML頁面。如果是,那麼根據我有限的知識,那麼包含在重定向頁面中的腳本將不起作用。這並不是與Phonegap相關的東西,而是一般的Web應用程序。你可以做的是創建一個模擬卡讀卡器,就像一個虛擬卡讀卡器來測試應用程序和插件。 – frank 2014-08-31 07:29:14

+0

我懷疑你的讀卡器在重新進入時(例如它的頁面)導致了一個問題。確保該頁面上的對象在重新訪問之前被銷燬(假設它實例化每個頁面加載),或者在繼續重新輸入之前添加一個檢查以查看對象是否已經實例化。 – gro 2015-10-30 20:02:36

回答

0

我從來沒有使用過科爾多瓦,但我會把支票在嘗試並使用它之前,在該對象上爲零。當您的應用程序轉到後臺時,您應該從讀卡器斷開連接並重新開始恢復連接。

+0

我添加了日誌來檢查在使用它之前對象是否爲零。崩潰前,我的插件代碼從來沒有零。 即使我暫停/從沒有讀卡器的頁面恢復,它也會崩潰。流程 1.運行卡閱讀器頁面 2.沒有讀卡器的打開頁面(讀卡器斷開連接) 3.暫停,恢復 4.完成在沒有讀卡器的頁面上工作 5.重定向到帶讀卡器的頁面(讀卡器應該連接) 6.崩潰 – fries 2014-08-29 20:52:10

相關問題