iOS注册登录 源代码
时间: 2023-10-22 21:05:28 浏览: 42
以下是一个简单的iOS注册登录的源代码示例,使用Firebase作为后端服务:
**注:** 以下代码仅为示例,需要替换为自己的Firebase项目信息。
**AppDelegate.swift**
```
import UIKit
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Firebase配置
FirebaseApp.configure()
return true
}
}
```
**LoginViewController.swift**
```
import UIKit
import Firebase
class LoginViewController: UIViewController {
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func loginButtonTapped(_ sender: UIButton) {
guard let email = emailTextField.text, !email.isEmpty else {
showAlert(message: "请输入邮箱")
return
}
guard let password = passwordTextField.text, !password.isEmpty else {
showAlert(message: "请输入密码")
return
}
Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
if let error = error {
self.showAlert(message: error.localizedDescription)
} else {
self.dismiss(animated: true, completion: nil)
}
}
}
func showAlert(message: String) {
let alert = UIAlertController(title: "提示", message: message, preferredStyle: .alert)
let okAction = UIAlertAction(title: "确定", style: .default, handler: nil)
alert.addAction(okAction)
present(alert, animated: true, completion: nil)
}
}
```
**SignupViewController.swift**
```
import UIKit
import Firebase
class SignupViewController: UIViewController {
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var confirmPasswordTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func signupButtonTapped(_ sender: UIButton) {
guard let email = emailTextField.text, !email.isEmpty else {
showAlert(message: "请输入邮箱")
return
}
guard let password = passwordTextField.text, !password.isEmpty else {
showAlert(message: "请输入密码")
return
}
guard let confirmPassword = confirmPasswordTextField.text, !confirmPassword.isEmpty else {
showAlert(message: "请确认密码")
return
}
if password != confirmPassword {
showAlert(message: "两次输入的密码不一致")
return
}
Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
if let error = error {
self.showAlert(message: error.localizedDescription)
} else {
self.dismiss(animated: true, completion: nil)
}
}
}
func showAlert(message: String) {
let alert = UIAlertController(title: "提示", message: message, preferredStyle: .alert)
let okAction = UIAlertAction(title: "确定", style: .default, handler: nil)
alert.addAction(okAction)
present(alert, animated: true, completion: nil)
}
}
```
这个示例中包含两个视图控制器,分别是登录和注册。在故事版中,需要创建这两个视图控制器,并将其与相应的类关联。注意,这里使用了Firebase的Auth模块来处理用户身份验证。在Firebase控制台中,需要允许邮箱/密码身份验证提供程序,以便该示例代码可以正常工作。