この記事ではSwift4、Xcode Ver9.3を使っています。
XcodeのiOS simulatorでTread 1:signal SIGABRTが出てアプリが立ち上がらないエラーに直面しました。
このエラーの意味は、「Signal(=ここでは「やりとり」みたいな意味)がAbortする(=ここでは「中断する)みたいな意味)と理解しておくとわかりやすいかもしれません。
原因をネットで検索すると色々出てきました。主要なものとしては、
・StoryBoardでOutlet接続したのに、そのOutletが上手くリンクしていない
・配列で存在しない添字にアクセスしている
・オブジェクトがnilになっている
・コード修正前のキャッシュが残っている
などが書かれていましたが、どれを試してみてもThread 1:signal SIGABRTエラーは消えず。。
なので、デバックエリアにブレークポイントを置きながら、時間をかけて原因を調べてみました。
結果として、エラーの原因は「クラスにモジュール名を指定し忘れていたこと」で「Outlet接続が上手くリンクされていなかった」みたいです。
Xcode上でStoryBoardを選択→対象のViewControllerを選択→show the identify inspectorを選択→ClassとModuleを正しく入力→Outlet接続を一度切り、再接続することで、Thread 1:signal SIGABRTエラーは消えました。
デバックエリアをみてもエラーの原因が即座にわからないので怖くなりますよね。
今回は一例として、こんな方法で治るよ!ということをご紹介しました。