我在看我的紅寶石運動應用程序(「習慣」)在TestFlight崩潰報告的RubyMotion應用一個TestFlight崩潰報告和它給我:搞清楚
undefined method `active' for nil:NilClass (NoMethodError)
2 Habits 0x004bd2f3 rb_rb2oc_exc_handler + 163
3 Habits 0x0003a38b main (main.mm:20)...
如何找出哪一行Ruby代碼觸發了這個錯誤?
我在看我的紅寶石運動應用程序(「習慣」)在TestFlight崩潰報告的RubyMotion應用一個TestFlight崩潰報告和它給我:搞清楚
undefined method `active' for nil:NilClass (NoMethodError)
2 Habits 0x004bd2f3 rb_rb2oc_exc_handler + 163
3 Habits 0x0003a38b main (main.mm:20)...
如何找出哪一行Ruby代碼觸發了這個錯誤?
運行同樣的問題......看看這個答案:
https://stackoverflow.com/a/4954949/1740868
而且這個博客帖子:
http://nofail.de/2013/09/omg-apple-rejected-my-app/
基本上你會做這樣的事情:
$ xcrun atos -arch armv7 -o Habits.app 0x004bd2f3
我幾乎和你一樣困惑,但我至少可以發表我的假設?我假設你不知道哪一行代碼觸發了這一點,因爲它看起來好像被捕獲的錯誤本身不知道它的來源:nil:NilClass (NoMethodError)
。
對我來說,看起來方法active
試圖從尚未定義或沒有特定內存的類中調用,因此是NilClass
。
我可能完全偏離這裏,但這是我的見解。
看起來你沒有上傳.dSYM文件和你的版本。
如果沒有.dSYM文件,Testflight或任何其他iOS崩潰報告系統將無法連接編譯代碼和源文件之間的點。
要獲得符號化的崩潰報告(包括文件名/行號),您需要上傳.dSYM文件以及您的構建文件。
您可以查看TestFlight的文檔手動或使用自己的桌面應用程序在這裏包括.dSYM文件:
http://help.testflightapp.com/customer/portal/articles/829888-uploading-a-dsym-with-a-build-
也有RubyMotion的寶石,通過耙任務,爲您處理that process:
https://github.com/HipByte/motion-testflight
我一直很高興地在我的項目中使用這個寶石。
已報告的堆棧跟蹤**已被符號化,但缺少任何有價值的信息。這沒有幫助。 – Kerni
是的,我已經上傳了一個dSYM,但我想我可能需要通過testflight-motion gem來代替使用TestFlight App。我將來會這樣做,但同時我想知道是否有任何方法可以理解當前的數據。例如。相對於這裏的+163是多少?我是否有足夠的信息返回到Ruby代碼? –
嗨,我不是要求幫忙搞清楚具體的錯誤 - 我想弄清楚如何讓崩潰報告指向我的Ruby源文件中的正確行。 –