post Image
【Swift4.0】Thread 1:signal SIGABRT エラー発生時の解決方法

この記事では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エラーは消えました。

デバックエリアをみてもエラーの原因が即座にわからないので怖くなりますよね。
今回は一例として、こんな方法で治るよ!ということをご紹介しました。


『 Swift 』Article List