Я работаю над небольшим проектом, и мне нужны люди, чтобы войти/войти в систему, используя Facebook/Google. Он отлично работает до сих пор с Firebase Auth от Google.Пользовательский UIButton для Facebook Войти
Я в основном работает с Facebook, поэтому все функциональные возможности в порядке.
Теперь я хотел бы немного «подгонять» его и придавать ему индивидуальный вид. Кажется, я не могу этого сделать.
Я создал UIButton, чтобы передвигаться, изменять форму и в основном контролировать все. Я бы хотел, чтобы мой UIButton сделал точный так же, как и родной Facebook LoginButton.
Я пошел в собственную документацию Facebook. Я все пробовал. Я копирую/вставляю код, который они написали, он дает несколько ошибок. Я пробовал каждый учебник, который мог найти, ничего не помогло. Один учебник дал мне немного пути, но не совсем понял. Код Facebook, который я скопировал: https://developers.facebook.com/docs/swift/login
Большое спасибо, я надеюсь, что кто-то может мне помочь.
Вот мой код, если это помогает:
import UIKit
import FacebookLogin
import FacebookCore
import FBSDKLoginKit
import FBSDKCoreKit
import FirebaseAuth
class ViewController: UIViewController, FBSDKLoginButtonDelegate {
let loginButton: FBSDKLoginButton = FBSDKLoginButton()
@IBOutlet weak var SpinnerLogin: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
loginButton.isHidden = true
FIRAuth.auth()?.addStateDidChangeListener { auth, user in
if let user = user {
// User is signed in.
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let homeViewController: UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "HomeView")
self.present(homeViewController, animated: true, completion: nil)
} else {
// No user is signed in.
self.loginButton.readPermissions = ["public_profile", "email", "user_friends" ]
self.loginButton.center = self.view.center
self.loginButton.delegate = self
self.view.addSubview(self.loginButton)
self.loginButton.isHidden = false
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//Tells us if person is logged in
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
self.loginButton.isHidden = true
if (error != nil) {
//Handle error
self.loginButton.isHidden = false
}
else if (result.isCancelled) {
//Handle cancel event
self.loginButton.isHidden = false
}
else {
SpinnerLogin.startAnimating()
let credential = FIRFacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)
FIRAuth.auth()?.signIn(with: credential) { (user, error) in
print("User Logged in to Facebook")
print("You are now signed in to Firebase")
}
}
}
//Tells us if person logged out
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
print("User did log out")
}
}