シミュレーターで 2 回目にアプリを起動すると、「Thread 1: signal SIGKILL」というエラーでアプリがクラッシュします。初めて完全に動作しますが、アプリを完全に閉じて (ホームボタンをダブルタップしてアプリを閉じる)、再度起動するとクラッシュします。
同じ問題 (アプリが 2 回クラッシュする) を抱えている他のユーザーを見つけましたが、原因は同じではありませんでした。
エラーを分離するために新しいプロジェクトを作成しようとしましたが、ViewController をプログラムで読み込もうとしたときに発生します。
MainView と Loader (MainView をロードすることになっている) という 2 つの単純なクラスを作成しました。
Loader クラスの viewDidAppear メソッドには、次のコードがあります。
[super viewDidAppear:YES];
sleep(1); //Simulating to be doing stuff
MainView* mainView = [self.storyboard instantiateViewControllerWithIdentifier:@"MainView"];
[self presentViewController:mainView animated:YES completion:nil];
次のバックトレースを取得します。
* thread #1: tid = 0x1f03, 0x9b5f5c22 libsystem_kernel.dylib`mach_msg_trap + 10, stop reason = signal SIGKILL
frame #0: 0x9b5f5c22 libsystem_kernel.dylib`mach_msg_trap + 10
frame #1: 0x9b5f51f6 libsystem_kernel.dylib`mach_msg + 70
frame #2: 0x0139b10a CoreFoundation`__CFRunLoopServiceMachPort + 186
frame #3: 0x012fe550 CoreFoundation`__CFRunLoopRun + 1312
frame #4: 0x012fdd84 CoreFoundation`CFRunLoopRunSpecific + 212
frame #5: 0x012fdc9b CoreFoundation`CFRunLoopRunInMode + 123
frame #6: 0x012b07d8 GraphicsServices`GSEventRunModal + 190
frame #7: 0x012b088a GraphicsServices`GSEventRun + 103
frame #8: 0x00011626 UIKit`UIApplicationMain + 1163
frame #9: 0x00001c4d progLoadingTest`main + 141 at main.m:16
frame #0: 0x9b5f5c22 libsystem_kernel.dylib`mach_msg_trap + 10
frame #1: 0x9b5f51f6 libsystem_kernel.dylib`mach_msg + 70
frame #2: 0x0139b10a CoreFoundation`__CFRunLoopServiceMachPort + 186
frame #3: 0x012fe550 CoreFoundation`__CFRunLoopRun + 1312
frame #4: 0x012fdd84 CoreFoundation`CFRunLoopRunSpecific + 212
frame #5: 0x012fdc9b CoreFoundation`CFRunLoopRunInMode + 123
frame #6: 0x012b07d8 GraphicsServices`GSEventRunModal + 190
frame #7: 0x012b088a GraphicsServices`GSEventRun + 103
frame #8: 0x00011626 UIKit`UIApplicationMain + 1163
frame #9: 0x00001c4d progLoadingTest`main + 141 at main.m:16