33
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

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

33
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?