Bonjour à tous,
je découvre cette communauté Fr. Voila pour ma première question, je rencontre un petit soucis sous Xcode en swift avec firebase.
Je mets en place un système d'inscription, connexion et de profil pour mes débuts en développement d'application IOs. L'ensemble du système est ok, l'utilisateur peut s'inscrire via son adresse mail et je lui associe une image de profil par défaut que je stocke dans la "store base" de firebase, l'ensemble des données sont stockées dans la "database" et l'image est enregistrée dans celle-ci via un URL.
J'arrive à afficher mes données du type email via un label dans un ViewControler mais je n'arrive absolument pas à récupérer l'image via un ImageView et ceci malgré tout les tutos.
Voici mon ViewControler de mon profil :
import UIKit import FirebaseAuth import FirebaseDatabase import FirebaseStorage import FirebaseCore
class ProfilController: UIViewController {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
tabBarItem = UITabBarItem(title: "Moi", image: UIImage(named: "profil_icon"), tag: 4)
}
@IBOutlet weak var FirstnameLabel: UILabel!
@IBOutlet weak var LastnameLabel: UILabel!
@IBOutlet weak var EmailLabel: UILabel!
@IBOutlet weak var AvatarProfileView: UIImageView!
@IBOutlet weak var LogoutButton2: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
setupButtons()
if let user = Auth.auth().currentUser {
let ref = Database.database().reference()
let userID = Auth.auth().currentUser?.uid
ref.child("users").child(userID!).observeSingleEvent(of: .value) { (snapshot) in
let value = snapshot.value as? NSDictionary
let Firstname = value?["Firstname"] as? String ?? "Prénom"
self.FirstnameLabel.text = Firstname
let Lastname = value?["Lastname"] as? String ?? "Nom"
self.LastnameLabel.text = Lastname
let Email = value?["Email"] as? String ?? "Adresse mail"
self.EmailLabel.text = Email
}
} else {
fatalError("aie aie aie aie")
}
}
func fetchImageFromStorage(){
let storageReference = Storage.storage().reference()
storageReference.child("image.jpg").downloadURL { (url, err) in
if url != nil{
do{
let data = try Data(contentsOf: url!)
let image = UIImage(data: data)
self.storageImageView.image = image
}catch{
print("Something is terribly wrong!")
}
}
}
}
private func setupButtons() {
LogoutButton2.layer.cornerRadius = 6
}
@IBAction func LogoutButton2(_ sender: UIButton) {
do
{
try Auth.auth().signOut()
self.dismiss(animated: true, completion: nil)
}
catch let error as NSError
{
print (error.localizedDescription)
}
}
}