Firebase Я могу получить адрес электронной почты пользователя, но не могу использовать его в клиенте IOS - PullRequest
0 голосов
/ 17 октября 2019

Я могу получить значение ключа в Firebase, в данном случае это адрес электронной почты пользователя, но когда я хочу использовать его для составления электронного письма, он не отображается. В настоящее время мы выбираем адрес электронной почты по умолчанию, который настроен на телефоне в разделе «Настройки» / «Почта / Учетная запись по умолчанию»Не уверен, что мне не хватает или если это возможно. Любая помощь очень ценится.

VC

var userEmail: String!

override func viewDidLoad() {
    super.viewDidLoad()
    emailRef = 
firestore.collection(NAME).document((self.test.documentId))
        .collection(COMMENTS_REF).document()
    if let emailId = Auth.auth().currentUser?.email {
        userEmail = emailId
        print("show address", userEmail)
    }
}

внутри функции для отправки электронной почты

let emailAction = UIAlertAction(title: "Email Comment - Internal", 
style: .default) { (action) in
if MFMailComposeViewController.canSendMail() {
    let mail = MFMailComposeViewController()
    mail.mailComposeDelegate = self
    mail.setPreferredSendingEmailAddress(self.userEmail!) //I can't get this to unwrap and add the user's email address.
    print("TEST", self.userEmail!)
    mail.setToRecipients([""])
    mail.setSubject("Test Email")
    mail.setMessageBody("Test", isHTML: true)
    self.present(mail, animated: true)
}

Когда приложение запускается и пользовательхочет отправить электронное письмо, мне нужно, чтобы приложение использовало адрес электронной почты пользователя, который был настроен в firebase.

...