2017-10-23 12 views
1

私は自分のプロジェクトでFirebaseとFirebaseUIを使用しています。定期的にログインしようとすると同じクラッシュが表示されます。ユーザーがFacebook/Googleまたは電子メール/パスワードでログインできる場所から、認証ピッカーが表示されるはずです。何が起こる、しかし、それは次の行をマークする以外を一切エラーメッセージがクラッシュしていないということです。auth pickerを表示しようとするとFirebaseUIがクラッシュする

struct FIRAuthLogin { 
    private let authUI = FUIAuth.defaultAuthUI() 
    private var viewController: UIViewController! 

    init(delegate: FIRCustomAuthDelegate, viewController: UIViewController) { 
     self.viewController = viewController 

     authUI?.delegate = delegate 
     authUI?.providers = [FUIGoogleAuth(), FUIFacebookAuth()] 
    } 

    func present(completion: @escaping() -> Void) { 

     // Exception on the line below! 
     let authViewController = authUI?.authViewController() 

     self.viewController.present(authViewController!, animated: true, completion: completion) 
    } 
} 

ラインlet authViewController = authUI?.authViewController()で例外があるにもかかわらず、authViewControllerないnilです。

enter image description here

問題は、私はFUIPasswordSignUpViewControllerをオーバーライドのみだということですので、私は少し困惑している:

以下は(問題ナビゲーターで)スタックトレースからの画像です。

私は通常、プロジェクトからCocoaPodを削除し、再度統合します。それから、正常に動作しますが、これを複数回実行してもエラーは持続しますので、根本的なエラーが存在する必要があります。残念ながら、私はFirebaseUI GitHubコードでエラーを再現することができませんでしたので、私はエラーが私の最後にあると推測しています。 FirebaseUI-iOS GitHubリポジトリではなく、ここで尋ねています。

+0

'authViewController'に' if let'を追加するなど、コードをより安全にするようにしてください。私はそれが生産では起こらないだろうと思っていますか?私は望んでいない。私はCocoapodsを介してフレームワークを再インストールすることについて言及したので、その理論を得ました。 TestFlight経由でアプリをテストするときにそのクラッシュを再現してみてください。 – Glenn

+0

私はTestFlight経由でテストしていますが、正しく動作しています。私が言ったように、 'authViewController'は' nil'ではありません。 'if let'を使うときも同じ例外があります。 – eirikvaa

答えて

0

最後にが固定されています。私はFirebaseUI iOSのリポジトリにissueを開き、Googleのエンジニアの1に私のプロジェクトを送信した後、彼はそれを解決:

あなたはCocoaPods/CocoaPods#6936に実行しているように見えます。ビルドシステムを標準(新しいビルドシステムのプレビューではなく)を使用するように設定し、DerivedDataを削除し、再ビルドすることで問題が修正されます。

当面は、新しいビルドシステムを使用しないでください。

関連する問題