iPhone - 当您找不到它时调试崩溃 [英] iPhone - Debugging a crash when you can't find it

查看:154
本文介绍了iPhone - 当您找不到它时调试崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序报告了崩溃, Crash Pad Drums
它引用某些cy钹声音导致iPod 4崩溃的问题。一个问题。我在iPod touch 2上找不到崩溃,而且我没有iTouch 4。

A crash was reported in my app, Crash Pad Drums. It cites a problem with certain cymbal sounds causing a crash on an iPod 4. One problem. I can't find the crash on my iPod touch 2, and I don't have an iTouch 4.

我能做些什么呢?

另一方面,我的应用今天免费。如果有人可以下载它并找到崩溃的情况,我将欠你的债务。

On another note, my app is free for today. If someone could download it and find the circumstances of the crash, I'd be in your debt.

编辑:
澄清

我实际上无法导致崩溃,因为我没有更新的设备可供测试。我怀疑这是我现在正在研究的iOS 5问题,但是将来我应该怎么办,如果我是廉价的而且不愿意购买新的iTouch?

编辑:

Console log:
2011-10-14 23:08:25.797 Crash Pad[794:12203] -[NSConcreteValue doubleValue]: unrecognized selector sent to instance 0xec9e2e0
2011-10-14 23:08:25.798 Crash Pad[794:12203] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteValue doubleValue]: unrecognized selector sent to instance 0xec9e2e0'
*** First throw call stack:
(0x1c49052 0x21fdd0a 0x1c4aced 0x1baff00 0x1bafce2 0x16f4f0 0x15d99e 0x14e0d8 0x168d42 0x15ace2 0x5c28c7 0x5c2a31 0x5c2d45 0x1be0f4a 0x1bac665 0x1bac056 0x5c2c43 0x249c8 0x24a58 0x8a72 0x1c4aec9 0x67a299 0x67a306 0x1c4aec9 0x67a299 0x67a306 0x5b6a30 0x5b6c56 0x59d384 0x590aa9 0x28c3fa9 0x1c1d1c5 0x1b82022 0x1b8090a 0x1b7fdb4 0x1b7fccb 0x28c2879 0x28c293e 0x58ea9b 0x1f0d 0x1e85)
terminate called throwing an exceptionCurrent language:  auto; currently objective-c


推荐答案

你发现的是一个Apple bug。您可以通过动画来轻松地重现任何视图,如下所示:

What you've found is an Apple bug. You can easily reproduce by animating any view, like this:

CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
anim.duration = 0.2;
anim.repeatDuration = HUGE_VALF;
anim.autoreverses = YES;
anim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9, 0.9, 0.0)];
[view.layer addAnimation:anim forKey:@"throb"]; // if this isn't nil we crash on tap

运行项目。点击悸动的视图。崩溃。这个代码在iOS 3和iOS 4上完全没问题。现在的解决方法是将 forKey:设置为nil,但这可能是不可接受的,因为这个参数很重要 - 非零键意味着如果您以后添加具有相同键的另一个动画,则会删除此动画,这可能正是您尝试执行的操作。

Run the project. Tap the throbbing view. Crash. This code was perfectly fine on iOS 3 and iOS 4. The workaround for now is to set forKey: to nil, but that may be unacceptable, as this argument can be important - a non-nil key means that if you later add another animation with the same key, this animation is removed, which might be exactly what you were trying to do.

I向Apple提交了一份错误报告,我建议你这样做。

I have submitted a bug report to Apple, and I suggest you do the same.

编辑(2/3/12):好的,Apple说这是我的错误,不是他们的。由于我正在提供转换,我需要使用 @transform的键,而不是 @transform.scale。此外,我的3D比例变换的z值应为1,而不是0。

EDIT (2/3/12): Okay, Apple says this is my bug, not theirs. Since I'm supplying a transform, I need to use a key of @"transform", not @"transform.scale". Moreover, the z-value of my 3D scale transform should be 1, not 0.

这篇关于iPhone - 当您找不到它时调试崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆