找出RubyMotion应用程序的TestFlight崩溃报告

时间:2013-07-23 13:47:52

标签: ios rubymotion testflight

我在TestFlight中查看我的Ruby Motion应用程序(“Habits”)的崩溃报告,它给了我这个:

undefined method `active' for nil:NilClass (NoMethodError) 
2 Habits 0x004bd2f3 rb_rb2oc_exc_handler + 163
3 Habits 0x0003a38b main (main.mm:20)...

如何确定哪一行Ruby代码触发了此错误?

3 个答案:

答案 0 :(得分:1)

遇到同样的问题......看看这个答案:

https://stackoverflow.com/a/4954949/1740868

这篇博文:

http://nofail.de/2013/09/omg-apple-rejected-my-app/

基本上你会做这样的事情:

$ xcrun atos -arch armv7 -o Habits.app 0x004bd2f3

答案 1 :(得分:0)

我几乎和你一样困惑,但我至少可以发表我的假设?我假设你无法弄清楚哪一行代码触发了这个因为它看起来好像捕获的错误本身不知道它的来源:nil:NilClass (NoMethodError)

对我来说,似乎方法active试图从一个尚未定义或没有特定记忆的类调用NilClass

我可能完全不在这里,但这是我的见解。

答案 2 :(得分:0)

您好像没有将.dSYM文件与您的版本一起上传。

如果没有.dSYM文件,Testflight或任何其他iOS崩溃报告系统将无法连接已编译代码和源文件之间的点。

要获取符号化的崩溃报告(包括文件名/行号),您需要上传.dSYM文件以及您的构建文件。

您可以在此处查看TestFlight的文档,以手动或使用桌面应用程序包含.dSYM文件:

http://help.testflightapp.com/customer/portal/articles/829888-uploading-a-dsym-with-a-build-

还有一个RubyMotion gem通过rake任务为你处理that process

https://github.com/HipByte/motion-testflight

我很高兴在我的项目中使用这个宝石。