Cocos2d v 1.0.1 と Box2d (cocos2d + box2d テンプレート) で iOS アプリを作成しています。 iPad では、私のアプリは正常に動作 します iPhone 4,4s (ios バージョン 5.0.1、6.0、他の iPhone/ファームウェアではテストされていません) では、ゲームの開始時に (短時間のプレイの後) EXC_BAD_ACCESS を取得しました。
myActor.position = CGPointMake( b->GetPosition().x * PTM_RATIO, b->GetPosition().y * PTM_RATIO );
b と Box2d ワールドの状態を分析したところ、ワールドのボディ リストが破損しているようです。b へのポインターには、b2Body ではなく b2PolygonShape が含まれています (Xcode の変数ビューで確認できます)。ときどき (これも iPhone のみ)、ゲームが予期しない動作をすることがあります。更新メソッドにブレークポイントを設定したところ、Box2d ワールドのボディ リストにボディが 1 つしか含まれていないことに気付きました (ただし、以前の更新ではワールドには多くのボディが含まれており、現在の更新では視覚的に画面に表示されています)。
ゲームのコードを確認しましたが、エラーやそのような動作の理由が見つかりません。Xcode の Analyze 機能を使ってみたり、Box2d のバージョンを変更したり、いろいろ試してみました。今のところ、この問題を解決できませんでした。
このクラッシュをデバッグするには、どのようなアプローチを使用すればよいですか?
それを調査して解決するにはどうすればよいですか?