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

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

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

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

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

Xcode

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

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

0回答

2830閲覧

Firebase Authentication×Flutterでネットワークエラーがどうしても治りません....

yooya19

総合スコア0

Firebase

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

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

Xcode

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

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2021/06/21 15:33

前提・実現したいこと

FlutterとFirebaseを連携させて、Firebase Authenticationでユーザー認証をしようとしていますが、
iOsのmyurエミュレーターに繋いでもネットワークエラーが表示され続けてうまくいきません。

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

ユーザー登録を実際にしとうとすると、下記のエラーメッセージが現れます。

[firebase_auth/network-request-failed]Network error (such as timeout, interrupted connection or unreachable host) has occurred.

該当のソースコード

dart

1import 'package:firebase_auth/firebase_auth.dart'; 2import 'package:firebase_core/firebase_core.dart'; 3import 'package:flutter/material.dart'; 4 5Future<void> main() async { 6 // Firebase初期化 7 WidgetsFlutterBinding.ensureInitialized(); 8 await Firebase.initializeApp(); 9 runApp(MyApp()); 10} 11 12class MyApp extends StatelessWidget { 13 // This widget is the root of your application. 14 15 Widget build(BuildContext context) { 16 return MaterialApp( 17 title: 'Flutter Demo', 18 theme: ThemeData( 19 primarySwatch: Colors.blue, 20 ), 21 home: MyAuthPage(), 22 ); 23 } 24} 25 26class MyAuthPage extends StatefulWidget { 27 28 _MyAuthPageState createState() => _MyAuthPageState(); 29} 30 31class _MyAuthPageState extends State<MyAuthPage> { 32 // 入力されたメールアドレス 33 String newUserEmail = ""; 34 // 入力されたパスワード 35 String newUserPassword = ""; 36 // 登録・ログインに関する情報を表示 37 String infoText = ""; 38 39 40 Widget build(BuildContext context) { 41 return Scaffold( 42 body: Center( 43 child: Container( 44 padding: EdgeInsets.all(32), 45 child: Column( 46 children: <Widget>[ 47 TextFormField( 48 // テキスト入力のラベルを設定 49 decoration: InputDecoration(labelText: "メールアドレス"), 50 onChanged: (String value) { 51 setState(() { 52 newUserEmail = value; 53 }); 54 }, 55 ), 56 const SizedBox(height: 8), 57 TextFormField( 58 decoration: InputDecoration(labelText: "パスワード(6文字以上)"), 59 // パスワードが見えないようにする 60 obscureText: true, 61 onChanged: (String value) { 62 setState(() { 63 newUserPassword = value; 64 }); 65 }, 66 ), 67 const SizedBox(height: 8), 68 ElevatedButton( 69 onPressed: () async { 70 try { 71 // メール/パスワードでユーザー登録 72 final FirebaseAuth auth = FirebaseAuth.instance; 73 final UserCredential result = 74 await auth.createUserWithEmailAndPassword( 75 email: newUserEmail, 76 password: newUserPassword, 77 ); 78 79 // 登録したユーザー情報 80 final User user = result.user!; 81 setState(() { 82 infoText = "登録OK:${user.email}"; 83 }); 84 } catch (e) { 85 // 登録に失敗した場合 86 setState(() { 87 infoText = "登録NG:${e.toString()}"; 88 }); 89 } 90 }, 91 child: Text("ユーザー登録"), 92 ), 93 const SizedBox(height: 8), 94 Text(infoText) 95 ], 96 ), 97 ), 98 ), 99 ); 100 } 101} 102

試したこと

  • それぞれのpackageがしっかり入ってるかの確認
  • 下記記事に従って、ios/runner/info.plistの書き換え

https://note.com/kyklades/n/n172d20650def

(省略) </array> //追加部分 <key>UIViewControllerBasedStatusBarAppearance</key> <false/> <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsLocalNetworking</key> <true/> </dict> //追加部分終了 </dict> </plist>
  • 下記記事に従って、Xcodeで設定を試みるも該当するOutgoing Connectionsの設定が現れず。

https://stackoverflow.com/questions/60351960/flutter-firebase-auth-a-network-error-such-as-timeout-interrupted-connection

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

Android Studioを使っています。

ここにより詳細な情報を記載してください。

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

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

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

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

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

hoshi-takanori

2021/06/21 20:25

flutter よく分かりませんが、iOS アプリとして iOS Simulator で動かしてるってことでしょうか? また、接奥先はローカルの Firebase Emulator ですか? (Simulator と Emulator が紛らわしい…。)
yooya19

2021/06/22 02:19

申し訳ないです、iOS Simulatorで動かしている形になります...! 紛らわしかったです、ごめんなさい。
hoshi-takanori

2021/06/22 02:42

接続先が Firebase のサーバーなら、NSAppTransportSecurity は不要なはずなので…。 iOS Simulator から外部につながりますか? (iOS Simulator の Safari などでご確認ください。)
yooya19

2021/06/22 05:34

すみません、初心者すぎて何もわかってないかもです...!ご回答いただきましてありがとうございます。 iOS simulatorからSafariにはつながることができました。 接続先がFirebaseになっているかどうかがちょっと定かではありません。 こちらの記事を参考にセットアップだけwebではなくiOSでやった形になります。 https://www.flutter-study.dev/firebase-app/authentication サーバーに繋がる、ような設定がどこで行われたのかなど調べてみます!
hoshi-takanori

2021/06/22 05:50

Network error なので、そもそも iOS Simulator がネットに繋がってない可能性もあると思いましたが、Safari で外部のサイトにつながるならそういう問題ではなさそうですね。Swift ではサーバーに繋げるための特別な設定は不要だし、Flutter でもそうだと思いますが、お役に立てなくてすみません。
退会済みユーザー

退会済みユーザー

2021/06/22 10:48

firebase側の設定は一通りやりました?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問