前提・実現したいこと
Swift+FirebaseでiOSアプリを開発しています。
Firebaseの電話番号認証でユーザー登録をしたいのですが、いくつかつまづいておりご教授いただきたいです。
はじめてSwiftを触っており、iOSに関してはかなり初心者であることご容赦ください。
発生している問題・エラーメッセージ
入力値の型の問題かと思うのですが、以下のエラーが出現します。
Cannot convert value of type 'UITextField?' to expected argument type 'String'
let phoneNumber = phoneTextField
とする際に、型を変更するべきなのかとも思いましたが調べてもあまりよくわかりませんでした。
該当のソースコード
以下ログイン画面です。
シンプルに、電話番号を入力し、「新規登録」ボタンを押すとFirebaseによる電話番号認証が始まりユーザー登録できるというフローです。
swift
1import UIKit 2import Firebase 3 4class LoginViewController: UIViewController { 5 6 @IBOutlet weak var phoneTextField: UITextField! 7 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 self.phoneTextField.keyboardType = UIKeyboardType.numberPad 11 //数字キーボードをデフォルト表示 12 13 } 14 15 @IBAction func CreateNewUSer(_ sender: Any) { 16 17 //新規ユーザー登録 18 // Change language code to japanese. 19 Auth.auth().languageCode = "ja"; 20 21 let phoneNumber = phoneTextField 22 //ここで入力値の型のエラー出現 23 PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate: nil) { (verificationID, error) in 24 if let error = error { 25 self.showMessagePrompt(message: "ErrorDescription (error.localizedDescription)") 26 return 27 } 28 // 確認IDをアプリ側で保持しておく 29 if let verificationID = verificationID { 30 print("verificationID (verificationID)") 31 UserDefaults.standard.authVerificationID = verificationID 32 } 33 } 34 35 36 37 guard let verificationID = UserDefaults.standard.authVerificationID else { 38 self.showMessagePrompt(message: "NoVerificationID") 39 return 40 } 41 let verificationCode = "123456" 42 let credential = PhoneAuthProvider.provider().credential(withVerificationID: verificationID, verificationCode: verificationCode) 43 Auth.auth().signInAndRetrieveData(with: credential) { (authResult, error) in 44 if let error = error { 45 self.showMessagePrompt(message: "ErrorDescription (error.localizedDescription)") 46 return 47 } 48 if let authResult = authResult { 49 self.showMessagePrompt(message: "AuthResult (authResult.user) (String(describing: authResult.additionalUserInfo))") 50 } 51 } 52 53 } 54 55 56 57 58} 59
試したこと
見よう見まねで以下の記事のコードを参考にしていましたが、どこにこのコードを書くべきかわからずうまく進んでおりません。
iOSで電話番号認証を行う方法
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/19 12:55