Je veux ajouter une image derrière les boutons de connexion de l'écran de connexion. Je reçois actuellement le message d'erreur suivant:FirebaseAuthUI IOS - comment ajouter une image de fond d'écran de connexion?
en raison de l'application Mettre fin exception uncaught 'NSInternalInconsistencyException', la raison: 'Impossible de charger NIB en paquet:' NSBundle < ...> avec le nom ...
Voici mon code:
En AppDelegate:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var authHandle: AuthStateDidChangeListenerHandle?
var userInfo:User!
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FirebaseApp.configure()
//checkLoggedIn
authHandle = Auth.auth().addStateDidChangeListener { auth, user in
if let user = user {
self.userInfo = user
} else {
// No user is signed in.
self.login()
}
}
return true
}
func login() {
let authUI = FUIAuth.defaultAuthUI()
authUI?.delegate = self as? FUIAuthDelegate
let providers: [FUIAuthProvider] = [
FUIFacebookAuth()
]
authUI?.providers = providers
// Present the auth view controller and then implement the sign in callback.
let authViewController = CustomAuthViewController(authUI: authUI!)
self.window?.rootViewController?.present(authViewController, animated: false, completion: nil)
}
func authPickerViewController(for authUI: FUIAuth) -> FUIAuthPickerViewController {
return CustomAuthViewController(nibName: "CustomAuthViewController",
bundle: Bundle.main,
authUI: authUI)
}
}
En CustomAuthViewController:
class CustomAuthViewController: FUIAuthPickerViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let width = UIScreen.main.bounds.size.width
let height = UIScreen.main.bounds.size.height
let imageViewBackground = UIImageView(frame: CGRect(x: 0, y: 0, width: width, height: height))
imageViewBackground.image = UIImage(named: "myimage")
// you can change the content mode:
imageViewBackground.contentMode = UIViewContentMode.scaleToFill
view.insertSubview(imageViewBackground, at: 0)
}
Voyez-vous ce qui ne va pas? Je ne suis pas sûr que la fonction authPickerViewController devrait être dans mon AppDelegate, pouvez-vous confirmer que c'est OK?
Je trouve this poste et this one mais je ne peux pas le faire fonctionner. J'utilise Firebase-UI 4.1.1, mon flux de connexion fonctionne sans image de fond (donc sans CustomPickerViewController).
Merci,
Alex
un coup d'oeil à cette [réponse] (https://stackoverflow.com/a/13931118/4056108) ou – chirag90
même ceci [réponse] (https://stackoverflow.com/a/28037785/4056108) – chirag90
Merci pour ces liens! Mais je ne suis pas sûr de savoir comment résoudre mon problème car il est lié à FirebaseAuthUi. Donc je n'ai pas de contrôleur dans mon storyboard pour la connexion, il est géré, chargé par Firebase. Si je remplace laissez authViewController = CustomAuthViewController (authUI: authUI!) En laissant authViewController = authUI! .authViewController() dans AppDelegate le flux de connexion fonctionne, mais je n'ai aucune image de fond. Le nettoyage du projet ne fonctionne pas. – Alex9494