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

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

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

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Xcode

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

Swift

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

解決済

別のストーリーボード へ遷移したいですThread 1: signal SIGABRTエラー

退会済みユーザー

退会済みユーザー

総合スコア0

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Xcode

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

Swift

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

1回答

0評価

0クリップ

149閲覧

投稿2018/01/01 08:53

編集2018/01/02 01:58

swift4
xcode9.2
firebase

メールアドレスベースのログインを実装している途中です。

イメージ説明

画像のMainStoryboard(左側)の"スタート画面"から
遷移してサインアップとログインはできている様なのですが、

その後MainStoryboard2(右側)の"ログインしたよ"に遷移できません。
複数のサイトを参考にメソッドを試しましたがうまくいかない為、
コードについてご指摘頂きたいです。

//追記
各ビューのユーティリティ情報です

("スタート画面"ビュー)
カスタムクラス:StartViewController、ID: start

("メールアドレスで登録"ビュー)
カスタムクラス: MailSignUpViewController、ID: mailSignIn

("メールアドレスでログイン"ビュー)
カスタムクラス: MailLogInViewController、ID: mailLogIn

("ログインしたよ"ビュー)
カスタムクラス: HomeViewController、ID: home

よろしくお願いします。

(MailSignUpViewControllerログインです) import UIKit import Firebase import FirebaseAuth class MailSignUpViewController: UIViewController { @IBOutlet weak var emailTF: UITextField! @IBOutlet weak var passwordTF: UITextField! @IBOutlet weak var usernameTF: UITextField! //homeへ遷移 static func createInstance() -> MailSignUpViewController { let storyboard = UIStoryboard(name: "mailSignUp", bundle: nil) let instance = storyboard.instantiateViewController(withIdentifier:"MailSignUpViewController") as! MailSignUpViewController return instance } override func viewDidLoad() { super.viewDidLoad() } //サインアップボタン! @IBAction func mailSignUpButton(_ sender: Any) { guard let email = emailTF.text else { return } guard let pass = passwordTF.text else { return } guard let username = usernameTF.text else { return } Auth.auth().createUser(withEmail: email, password: pass) { user, error in if error == nil && user != nil { //homeへ遷移 let homeVC = HomeViewController.createInstance() self.present(homeVC, animated: true, completion: nil) print("ユーザー登録したよ") let changeRequest = Auth.auth().currentUser?.createProfileChangeRequest() changeRequest?.displayName = username changeRequest?.commitChanges { error in if error == nil { print("User display name changed!") self.dismiss(animated: false, completion: nil) } } } else { print("ユーザー登録失敗!: (error!.localizedDescription)") } } } }
(MailLogInViewControllerサインアップです) import UIKit import Firebase import FirebaseAuth class MailLogInViewController: UIViewController { @IBOutlet weak var emailTF: UITextField! @IBOutlet weak var passwordTF: UITextField! //homeへ遷移 static func createInstance() -> MailLogInViewController { let storyboard = UIStoryboard(name: "mailLogIn", bundle: nil) let instance = storyboard.instantiateViewController(withIdentifier:"MailLogInViewController") as! MailLogInViewController return instance } override func viewDidLoad() { super.viewDidLoad() } @IBAction func mailLogInButton(_ sender: Any) { Auth.auth().signIn(withEmail: emailTF.text!, password: passwordTF.text!, completion: { (user, error) in if user != nil { //homeへ遷移 let homeVC = HomeViewController.createInstance() self.present(homeVC, animated: true, completion: nil) print("ログイン!") } else { print("ユーザー登録失敗: (error!.localizedDescription)") } } )} }
(HomeViewController"ログインしたよ"ビューです) import UIKit import Firebase import FirebaseAuth class HomeViewController: UIViewController { static func createInstance() -> HomeViewController { let storyboard = UIStoryboard(name: "home", bundle: nil) let instance = storyboard.instantiateViewController(withIdentifier:"HomeViewController") as! HomeViewController return instance } override func viewDidLoad() { super.viewDidLoad() } @IBAction func handleLogout(_ target: UIBarButtonItem) { try! Auth.auth().signOut() self.dismiss(animated: false, completion: nil) } }
(コンソールエラーです) 2018-01-01 17:40:01.150310+0900 make01[13866:788932] [Firebase/Analytics][I-ACS023007] Firebase Analytics v.40005000 started 2018-01-01 17:40:01.150539+0900 make01[13866:788932] [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r) Optional(<FIRUser: 0x6040000d2280>) アプリを開いたよ 2018-01-01 17:40:01.641633+0900 make01[13866:788594] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/tanakaatsushi/Library/Developer/CoreSimulator/Devices//data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles 2018-01-01 17:40:01.644890+0900 make01[13866:788594] [MC] Reading from private effective user settings. 2018-01-01 17:40:01.658948+0900 make01[13866:788594] Could not successfully update network info during initialization. 2018-01-01 17:40:01.748463+0900 make01[13866:788933] TIC Read Status [1:0x0]: 1:57 2018-01-01 17:40:01.748617+0900 make01[13866:788933] TIC Read Status [1:0x0]: 1:57 2018-01-01 17:40:02.010424+0900 make01[13866:788932] TIC Read Status [2:0x0]: 1:57 2018-01-01 17:40:02.010535+0900 make01[13866:788932] TIC Read Status [2:0x0]: 1:57 2018-01-01 17:40:06.773716+0900 make01[13866:788594] [MC] Lazy loading NSBundle MobileCoreServices.framework 2018-01-01 17:40:06.775661+0900 make01[13866:788594] [MC] Loaded MobileCoreServices.framework 2018-01-01 17:40:19.364415+0900 make01[13866:788594] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'home' in bundle NSBundle </Users/tanakaatsushi/Library/Developer/CoreSimulator/Devices//data/Containers/Bundle/Application//make01.app> (loaded)' *** First throw call stack: ( 0 CoreFoundation 0x0000000112d6d12b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x0000000112401f41 objc_exception_throw + 48 2 UIKit 0x000000011421e97e +[UIStoryboard storyboardWithName:bundle:] + 672 3 make01 0x000000010ff50192 _T0So12UIStoryboardCABSS4name_So6BundleCSg6bundletcfCTO + 82 4 make01 0x000000010ff5acfa _T06make0118HomeViewControllerC14createInstanceACyFZ + 90 5 make01 0x000000010ff571e3 _T06make0123MailLogInViewControllerC04mailcD6ButtonyypFySo4UserCSg_s5Error_pSgtcfU_ + 163 6 make01 0x000000010ff579b2 _T06make0123MailLogInViewControllerC04mailcD6ButtonyypFySo4UserCSg_s5Error_pSgtcfU_TA + 66 7 make01 0x000000010ff51e8c _T0So4UserCSgs5Error_pSgIxxx_ACSo7NSErrorCSgIyByy_TR + 124 8 libdispatch.dylib 0x00000001166bc2f7 _dispatch_call_block_and_release + 12 9 libdispatch.dylib 0x00000001166bd33d _dispatch_client_callout + 8 10 libdispatch.dylib 0x00000001166c85f9 _dispatch_main_queue_callback_4CF + 628 11 CoreFoundation 0x0000000112d2fe39 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 12 CoreFoundation 0x0000000112cf4462 __CFRunLoopRun + 2402 13 CoreFoundation 0x0000000112cf3889 CFRunLoopRunSpecific + 409 14 GraphicsServices 0x0000000118d779c6 GSEventRunModal + 62 15 UIKit 0x00000001138fe5d6 UIApplicationMain + 159 16 make01 0x000000010ff55f97 main + 55 17 libdyld.dylib 0x0000000116739d81 start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Xcode

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

Swift

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