2

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

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

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

4

3 回答 3

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

于 2013-12-15T22:33:33.463 回答
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 任务为您处理该过程:

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

我一直很高兴在我的项目中使用这个 gem。

于 2013-07-25T15:36:31.797 回答
0

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

对我来说,该方法似乎active试图从尚未定义或没有特定内存的类中调用,因此是NilClass.

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

于 2013-07-23T15:06:17.390 回答