私のiPhoneゲームがデバイス上でクラッシュしたが、何が起こったのかを理解しようとしている。iPhoneのクラッシュログを理解する
ユーザがゲーム画面を終了するたびに、ユーザデータを保存するように指示するメッセージ(HomePageController
(最上位コントローラ))にメッセージが送信されます。これは、この特定のインスタンスを除いて常にうまく動作します。スローされた例外は、HomePageController
がsaveUserData
セレクタを認識していないことを示していますが、その機能がそのコントローラに確実に存在し、それが残りの時間にどのように起こるかはわかりません。
誰でもアドバイスをいただけますか? HomePageController.mで
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Last Exception Backtrace:
0 CoreFoundation 0x3756a88f __exceptionPreprocess + 163
1 libobjc.A.dylib 0x35a70259 objc_exception_throw + 33
2 CoreFoundation 0x3756da9b -[NSObject doesNotRecognizeSelector:] + 175
3 CoreFoundation 0x3756c915 ___forwarding___ + 301
4 CoreFoundation 0x374c7650 _CF_forwarding_prep_0 + 48
5 P------k 0x0000ebe1 -[HomePageController saveUserData] (HomePageController.m:125)
6 P------k 0x00008a0b -[RootViewController viewDidAppear:] (RootViewController.m:102)
線125:
- (void)saveUserData{
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES) objectAtIndex:0];
//10x10
{
NSMutableDictionary *dict = [[[NSMutableDictionary alloc] init] autorelease];
for (int i = 0; i < _puzzles10x10.count; i++){
LevelData *currentPuzzle = [_puzzles10x10 objectAtIndex:i];
/*(line 125)*/ [dict setObject:[currentPuzzle getPuzzleUserData] forKey:currentPuzzle.title];
}
[dict writeToFile:[documentsPath stringByAppendingPathComponent:@"userdata.dat"] atomically:YES];
}
// more here
}
HomePageController.mファイルに125行目を投稿できますか?私はあなたがそこにあなたの答えを見つけるだろうと思う – giorashc
@giorashcああ、それは今明らかであるように...病気は、まだその行にクラッシュする理由を完全にはっきりしない質問を更新 – Chris
RootViewControllerの行102も興味深いだろう=) –