2017-09-18 9 views
2

ためFirebasePhoneAuthUIの統合: -firebase電話認証を統合する一方で私たちは、それは我々がクラッシュの下になっている、Cocopodsなしfirebase SDKを使用している電話番号認証

Error:- 2017-09-18 19:30:46.123775+0530 NewFireBaseDummy[2174:475150] * Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle (loaded)' with name 'FUIPhoneEntryViewController'' * First throw call stack: (0x1901aefe0 0x18ec10538 0x1901aef28 0x1967e6600 0x1966472d4 0x19641146c 0x1962dfb68 0x1962dfa9c 0x1000f8174 0x1000f3a38 0x1000f39a4 0x1000f1140 0x1001066b8 0x10008bed4 0x10008b9c8 0x10008bb04 0x1000d0754 0x1000d0ad8 0x100c71a50 0x100c71a10 0x100c76b78 0x19015d0c8 0x19015ace4 0x19008ada4 0x191af4074 0x196345058 0x10008dcb0 0x18f09959c) libc++abi.dylib: terminating with uncaught exception of type NSException

import UIKit 
import Firebase 
import FirebaseAuthUI 
import FirebasePhoneAuthUI 

class ViewController: UIViewController, FUIAuthDelegate { 

fileprivate(set) var auth:Auth? 
fileprivate(set) var authUI: FUIAuth? //only set internally but get externally 
fileprivate(set) var authStateListenerHandle: AuthStateDidChangeListenerHandle? 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view, typically from a nib. 
    self.auth = Auth.auth() 
    self.authUI = FUIAuth.defaultAuthUI() 
    self.authUI?.delegate = self 
    self.authUI?.providers = [FUIPhoneAuth(authUI: self.authUI!)] 


    self.authStateListenerHandle = self.auth?.addStateDidChangeListener { (auth, user) in 
     guard user != nil else { 
      self.loginAction(sender: self) 
      return 
     } 

    } 


} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

func loginAction(sender:AnyObject){ 
    //direct open the auth page 
    let provider = self.authUI?.providers.first as! FUIPhoneAuth; 
    provider.signIn(withPresenting: self); 
} 

func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?) { 
    guard let authError = error else { return } 

    let errorCode = UInt((authError as NSError).code) 

    switch errorCode { 
    case FUIAuthErrorCode.userCancelledSignIn.rawValue: 
     print("User cancelled sign-in"); 
     break 

    default: 
     let detailedError = (authError as NSError).userInfo[NSUnderlyingErrorKey] ?? authError 
     print("Login error: \((detailedError as! NSError).localizedDescription)"); 
    } 
} 

} 

答えて

0

私は多分あなたのエラーについてはよく分からないが、あなたはPhoneAuthにとって非常に重要なことを見逃しています。 たぶん、あなたは、YouTubeからのフォローでこのチュートリアルをそれを把握しようとすることができます:https://www.youtube.com/watch?v=bujGsqBo4xkは それは我々がcocoapodsことによってそれを行うことができます

+0

役立ちますFirebase 希望を使用してPhoneAuthを作る方法をステップバイステップで説明します。しかし、私たちが手動でフレームワークをプロジェクトに追加してこの問題を抱えている場合は同じです。これは、フレームワークを手動でインポートするための、以下のリンクです。 FirebasePhoneuiとFirebaseauthUiフレームワークをインポートする同じ方法Link: - http://www.mokacoding.com/blog/setting-up-firebase-without-cocoapods/ –