質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

3777閲覧

xcode使用中のエラーThread 1: signal SIGABRT の原因

emilio

総合スコア15

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/02/04 04:36

編集2020/02/04 07:09

前提・実現したいこと

 
xcodeを用いて簡単なappの作成をwebをみながら行っていたのですが、同じように行ったにもかかわらずこのエラーが表示されてしまいました。

発生している問題・エラーメッセージ

Thread 1: signal SIGABRT 右下window内のエラーです  2020-02-04 16:05:48.792388+0900 testapp3[6804:488971] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing a navigation controller is not supported' *** First throw call stack: ( 0 CoreFoundation 0x00007fff23c7127e __exceptionPreprocess + 350 1 libobjc.A.dylib 0x00007fff513fbb20 objc_exception_throw + 48 2 UIKitCore 0x00007fff4797bcfb -[UINavigationController pushViewController:transition:forceImmediate:] + 451 3 UIKitCore 0x00007fff4797b9a4 -[UINavigationController pushViewController:animated:] + 669 4 UIKitCore 0x00007fff481f561a __66-[UIStoryboardPushSegueTemplate newDefaultPerformHandlerForSegue:]_block_invoke + 419 5 UIKitCore 0x00007fff481f9ec4 -[UIStoryboardSegueTemplate _performWithDestinationViewController:sender:] + 276 6 UIKitCore 0x00007fff481f9d82 -[UIStoryboardSegueTemplate _perform:] + 82 7 UIKitCore 0x00007fff481fa044 -[UIStoryboardSegueTemplate perform:] + 157 8 UIKitCore 0x00007fff48093fff -[UIApplication sendAction:to:from:forEvent:] + 83 9 UIKitCore 0x00007fff47a6c00e -[UIControl sendAction:to:forEvent:] + 223 10 UIKitCore 0x00007fff47a6c358 -[UIControl _sendActionsForEvents:withEvent:] + 398 11 UIKitCore 0x00007fff47a6b2b7 -[UIControl touchesEnded:withEvent:] + 481 12 UIKitCore 0x00007fff480cebbf -[UIWindow _sendTouchesForEvent:] + 2604 13 UIKitCore 0x00007fff480d04c6 -[UIWindow sendEvent:] + 4596 14 UIKitCore 0x00007fff480ab53b -[UIApplication sendEvent:] + 356 15 UIKitCore 0x00007fff4812c71a __dispatchPreprocessedEventFromEventQueue + 6847 16 UIKitCore 0x00007fff4812f1e0 __handleEventQueueInternal + 5980 17 CoreFoundation 0x00007fff23bd4471 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 18 CoreFoundation 0x00007fff23bd439c __CFRunLoopDoSource0 + 76 19 CoreFoundation 0x00007fff23bd3b74 __CFRunLoopDoSources0 + 180 20 CoreFoundation 0x00007fff23bce87f __CFRunLoopRun + 1263 21 CoreFoundation 0x00007fff23bce066 CFRunLoopRunSpecific + 438 22 GraphicsServices 0x00007fff384c0bb0 GSEventRunModal + 65 23 UIKitCore 0x00007fff48092d4d UIApplicationMain + 1621 24 testapp3 0x0000000106c3facb main + 75 25 libdyld.dylib 0x00007fff5227ec25 start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

該当のソースコード

swift

1import UIKit 2 3@UIApplicationMain 4class AppDelegate: UIResponder, UIApplicationDelegate { =Thread 1: signal SIGABRT 5 6 7 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 8 // Override point for customization after application launch. 9 return true 10 } 11 12 // MARK: UISceneSession Lifecycle 13 14 func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { 15 // Called when a new scene session is being created. 16 // Use this method to select a configuration to create the new scene with. 17 return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) 18 } 19 20 func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) { 21 // Called when the user discards a scene session. 22 // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 23 // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 24 } 25 26 27} 28 29

試したこと

main.storyboard上で一度接続をきり、やり直してみましたが、うまくいきませんでした。

補足情報(FW/ツールのバージョンなど)

コードはデフォルトのままで変更していません。
single view app のテンプレートを使いました。

main.storyboardはこんな感じです。↓
イメージ説明

macbook pro (mid 2012)
バージョン 10.15.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasakiHori

2020/02/04 06:21

window下部の右側に表示されているエラーをすべて追記してください
emilio

2020/02/21 09:32

エラー文が、まだ上にあったことを知らずに質問してしまいました。 デバックのエラーを全部見ることでエラーを解消できました。
guest

回答2

0

ベストアンサー

上の方がおっしゃると通り、signal SIGABRTでもエラーがちゃんと出ているのその箇所を読むのが一番の近道かと思います。

稀にでないときもあり、その場合はAppDelegateから詰んでしまう場合があるので、以下のようにbreak pointを貼ると元のコードを検知してくれるようになります。

All Exceptionの設定方法(デバッグ)

投稿2020/02/04 18:30

h_crane

総合スコア171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

クラッシュするのはボタン押下時でしょうか?

エラーを見ると reason: 'Pushing a navigation controller is not supported' とあるのでUINavigationController から push で別の UINavigationController に遷移しようとしているのではないでしょうか?

UINavigationController から別の UINavigationController には push で遷移できないので、遷移方法を modal に変えるか遷移先の UINavigationControllerUIViewController に変えればいけると思います。

投稿2020/02/04 10:02

usagi001

総合スコア208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問