質問編集履歴

4

追記

2023/03/05 15:09

投稿

Jedda
Jedda

スコア80

test CHANGED
File without changes
test CHANGED
@@ -376,3 +376,5 @@
376
376
  ### 追記
377
377
  2023/03/05 verify_number.dartファイルを一部修正しました。
378
378
 
379
+ 2023/03/06 edit_number.dartファイルを追加しました。
380
+

3

追記

2023/03/05 15:08

投稿

Jedda
Jedda

スコア80

test CHANGED
File without changes
test CHANGED
@@ -209,6 +209,145 @@
209
209
 
210
210
  ```
211
211
 
212
+ ```edit_number.dart
213
+
214
+ import 'package:cupertino_chat_app/components/logo.dart';
215
+ import 'package:cupertino_chat_app/screens/login/select_country.dart';
216
+ import 'package:cupertino_chat_app/screens/login/verify_number.dart';
217
+ import 'package:flutter/cupertino.dart';
218
+
219
+ class EditNumber extends StatefulWidget {
220
+ const EditNumber({super.key});
221
+
222
+ @override
223
+ State<EditNumber> createState() => _EditNumberState();
224
+ }
225
+
226
+ class _EditNumberState extends State<EditNumber> {
227
+ final _enterPhoneNumber = TextEditingController();
228
+ Map<String, dynamic> data = {"name": "Japan", "code": "+81"};
229
+ Map<String, dynamic> dataResult = {};
230
+ @override
231
+ Widget build(BuildContext context) {
232
+ return CupertinoPageScaffold(
233
+ navigationBar: const CupertinoNavigationBar(
234
+ middle: Text("Edit Number"),
235
+ previousPageTitle: "Back",
236
+ ),
237
+ child: Column(
238
+ crossAxisAlignment: CrossAxisAlignment.center,
239
+ mainAxisAlignment: MainAxisAlignment.center,
240
+ children: [
241
+ Row(
242
+ children: [
243
+ const Logo(width: 80.0, height: 80.0, radius: 30.0),
244
+ Expanded(
245
+ child: Text(
246
+ "Verification・one step",
247
+ style: TextStyle(
248
+ color: const Color(0xFF08C187).withOpacity(0.7),
249
+ fontSize: 28,
250
+ ),
251
+ ),
252
+ ),
253
+ ],
254
+ ),
255
+ Text(
256
+ "Enter your phone number",
257
+ style: TextStyle(
258
+ color: CupertinoColors.systemGrey.withOpacity(0.7),
259
+ fontSize: 28,
260
+ ),
261
+ ),
262
+ Row(
263
+ children: [
264
+ Expanded(
265
+ child: CupertinoListTile(
266
+ onTap: () async {
267
+ dataResult = await Navigator.push(
268
+ context,
269
+ CupertinoPageRoute(
270
+ builder: (context) => const SelectCountry(),
271
+ ),
272
+ );
273
+ setState(() {
274
+ data = dataResult;
275
+ });
276
+ },
277
+ title: Text(
278
+ data["name"],
279
+ style: const TextStyle(
280
+ color: Color(0xFF08C187),
281
+ ),
282
+ ),
283
+ trailing: const Icon(
284
+ CupertinoIcons.right_chevron,
285
+ color: Color(0xFF08C187),
286
+ ),
287
+ ),
288
+ ),
289
+ ],
290
+ ),
291
+ Padding(
292
+ padding: const EdgeInsets.all(8.0),
293
+ child: Row(
294
+ children: [
295
+ Padding(
296
+ padding: const EdgeInsets.only(right: 6.0),
297
+ child: Text(
298
+ data["code"],
299
+ style: const TextStyle(
300
+ fontSize: 25,
301
+ color: CupertinoColors.secondaryLabel,
302
+ ),
303
+ ),
304
+ ),
305
+ Expanded(
306
+ child: CupertinoTextField(
307
+ placeholder: "Enter your phone number",
308
+ controller: _enterPhoneNumber,
309
+ keyboardType: TextInputType.number,
310
+ style: const TextStyle(
311
+ fontSize: 25,
312
+ color: CupertinoColors.secondaryLabel,
313
+ ),
314
+ ),
315
+ ),
316
+ ],
317
+ ),
318
+ ),
319
+ const Text(
320
+ "You will receive an activation code in short time",
321
+ style: TextStyle(
322
+ color: CupertinoColors.systemGrey,
323
+ fontSize: 15,
324
+ ),
325
+ ),
326
+ Padding(
327
+ padding: const EdgeInsets.symmetric(vertical: 40),
328
+ child: CupertinoButton.filled(
329
+ child: const Text("Request code"),
330
+ onPressed: () {
331
+ Navigator.push(
332
+ context,
333
+ CupertinoPageRoute(
334
+ builder: (context) => VerifyNumber(
335
+ number: data["code"]! + _enterPhoneNumber.text,
336
+ ),
337
+ ),
338
+ );
339
+ },
340
+ ),
341
+ ),
342
+ ],
343
+ ),
344
+ );
345
+ }
346
+
347
+
348
+ ```
349
+
350
+
212
351
  ### 試したこと
213
352
 
214
353
  ユーザー認証の処理の仕方を記述しているのはverify_number.dartなので、

2

追記

2023/03/04 16:10

投稿

Jedda
Jedda

スコア80

test CHANGED
File without changes
test CHANGED
@@ -49,9 +49,9 @@
49
49
  phoneNumber: phoneNumber,
50
50
  verificationCompleted: (phoneAuthCredential) async {},
51
51
  verificationFailed: (verificationFailed) async {},
52
- codeSent: (verifficationId, resendingToken) async {
52
+ codeSent: (verificationId, resendingToken) async {
53
53
  setState(() {
54
- _verificationId = _verificationId;
54
+ this._verificationId = verificationId;
55
55
  });
56
56
  },
57
57
  codeAutoRetrievalTimeout: (codeAutoRetrievalTimeout) async {});
@@ -173,7 +173,6 @@
173
173
  );
174
174
  }
175
175
  }
176
-
177
176
  ```
178
177
 
179
178
  ```user_name.dart
@@ -235,3 +234,6 @@
235
234
  参考にしている動画
236
235
  https://youtu.be/ua9AfnGvP3Q
237
236
 
237
+ ### 追記
238
+ 2023/03/05 verify_number.dartファイルを一部修正しました。
239
+

1

追記

2023/03/04 14:37

投稿

Jedda
Jedda

スコア80

test CHANGED
File without changes
test CHANGED
@@ -215,6 +215,7 @@
215
215
  ユーザー認証の処理の仕方を記述しているのはverify_number.dartなので、
216
216
  数回にわたり見直し、Firebaseの初期設定がうまくいっていない可能性も考えられたので、
217
217
  Firebaseの設定も見てみたが問題解決のための決定的なものは得られませんでした。
218
+ おそらく、Firebaseの認証あたりが問題だと考えています。
218
219
  三日三晩自分なりにできることは尽くしましたが、問題解決にいたらなかったので有識者のお知恵をお借りしたいです。
219
220
 
220
221