何が起こっているのか正確にはわかりません。答えを見つけるのに十分な関連コードを提供できることを願っています。appDelegate.mでジェスチャレコグナイザーを設定しました。
CCScene *scene = [HomeLayer scene];
HomeLayer *layer = (HomeLayer *) [scene.children objectAtIndex:0];
UIPanGestureRecognizer *gestureRecognizer = [[[UIPanGestureRecognizer alloc] initWithTarget:layer action:@selector(handlePanFrom:)] autorelease];
[director_.view addGestureRecognizer:gestureRecognizer];
m._gestureRecognizer = gestureRecognizer;
アプリがクラッシュするポイントを特定するために、いくつかのデバッグメッセージを挿入しました。
- (void)handlePanFrom:(UIPanGestureRecognizer *)recognizer {
NSLog(@"Handle Pan From");
ccTouchBegan / Moved/Endedのいくつかのプリントアウトと同様に。
アプリがクラッシュするたびに、物事が「動いている」間(終了は呼び出されません)、handlePanFromも呼び出されません。
背景情報:私のアプリには、シーンを切り替えるために使用するボタンがあります。例:
- (void) doSomethingThree: (CCMenuItem *) menuItem
{
NSLog(@"The third menu was called");
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[HomeLayer scene] ]];
}
アプリを起動してHomeLayerシーンに直接移動し、ドラッグしようとすると、アプリは100%の確率で即座にクラッシュします(ccMovedはクラッシュする前に1〜2回呼び出されます)。クリックしてもアプリはクラッシュせず、handlePanFromを呼び出すものだけがクラッシュします。
奇妙なことに、他のシーンをドラッグしてもアプリはクラッシュせず、handlePanFromが正常に呼び出されます。次に、HomeLayerシーンに戻ってドラッグすると、しばらくの間クラッシュしません。これは、別のシーンでドラッグするのに費やした時間に直接関係しているようです。
誰かが以前にこれらの症状を見たことがありますか?私が提供した情報が適切であるか正しいかはわかりませんが、私はまだiphonedevを回避する方法を学ぼうとしています。デバッグのヒントも喜んでいます(16進線のように見えるアセンブリは、私にとって特に啓発的ではありません...)