iOS
Implementazione accesso e registrazione in Swift su iOS
13 min
tutorial di accesso e registrazione utente utilizzando swift introduzione questa sezione spiega come puoi creare un'app con una semplice registrazione utente utilizzando https //www back4app com/product/parse server tramite back4app in qualsiasi momento, puoi accedere al progetto completo costruito con questo tutorial nel nostro https //github com/templates back4app/ios install sdk per completare questo quickstart, hai bisogno di https //developer apple com/xcode/ un'app creata su back4app segui il https //www back4app com/docs/get started/new parse app per imparare come creare un'app parse su back4app un'app ios connessa a back4app nota segui il https //www back4app com/docs/ios/parse swift sdk per creare un progetto xcode connesso a back4app un account sviluppatore apple a pagamento iniziamo! seguendo i prossimi passaggi sarai in grado di costruire un'app che effettuerà il sign in, il sign up e il logout nel database back4app 1 configura e crea la tua interfaccia di registrazione e accesso vai su xcode, accedi alla cartella principale del progetto e poi apri il file viewcontroller swift per modificarlo in viewcontroller swift assicurati di includere il modulo parse includendolo nella parte superiore del file 1 import parse 3\ vai a main storyboard, trascina quattro uitextfields sul viewcontroller nel main storyboard centra il textfield e metti due nella parte superiore e due nella parte inferiore del view controller trascina altri due uibuttons sulla vista e posizionali sotto i textfields trascina un altro loader indicator su ciascun pulsante imposta il testo del pulsante superiore su accedi imposta il pulsante inferiore su registrati imposta i campi di testo su nome utente e password 4\ successivamente, collegheremo i tuoi uitextfields nel tuo storyboard a proprietà nel tuo view controller aggiungi le seguenti proprietà all'inizio di viewcontroller swift successivamente, vai al tuo storyboard e fai clic destro su ciascun uitextfield e fai clic su reference outlet, quindi trascina una linea di ritorno all'icona del viewcontroller e impostala sul campo appropriato signinusernamefield si collega al campo nome utente accedi, ecc… dovrebbe apparire così 1 import uikit 2 import parse 3 4 class viewcontroller uiviewcontroller { 5 6 @iboutlet weak var txtusernamesignin uitextfield! 7 @iboutlet weak var txtpasswordsignin uitextfield! 8 @iboutlet weak var indicatorlogin uiactivityindicatorview! 9 10 @iboutlet weak var txtusernamesignup uitextfield! 11 @iboutlet weak var txtpasswordsignup uitextfield! 12 @iboutlet weak var indicatorsignup uiactivityindicatorview! 13 14 override func viewdidload() { 15 super viewdidload() 16 // do any additional setup after loading the view 17 } 18 19 @ibaction func signin( sender any) { 20 //todo 21 } 22 23 @ibaction func signup( sender any) { 24 //todo 25 } 26 27 } 2 crea una funzione di accesso aggiungi il seguente codice all'interno della funzione di accesso 1 @ibaction func signin( sender any) { 2 pfuser loginwithusername(inbackground self txtusernamesignin text!, password self txtpasswordsignin text!) { 3 (user pfuser?, error error?) > void in 4 if user != nil { 5 self displayalert(withtitle "login successful", message "") 6 } else { 7 self displayalert(withtitle "error", message error! localizeddescription) 8 } 9 } 10 } 3 crea una funzione di registrazione aggiungi il seguente codice all'interno della funzione di registrazione 1 @ibaction func signup( sender any) { 2 let user = pfuser() 3 user username = self txtusernamesignup text 4 user password = self txtpasswordsignup text 5 6 self indicatorsignup startanimating() 7 user signupinbackground {(succeeded bool, error error?) > void in 8 self indicatorsignup stopanimating() 9 if let error = error { 10 self displayalert(withtitle "error", message error localizeddescription) 11 } else { 12 self displayalert(withtitle "success", message "account has been successfully created") 13 } 14 } 15 } 4 disconnettersi quando si effettua il login, viene creato un oggetto session, che punta all'utente connesso se il login ha successo, parseuser currentuser() restituisce un oggetto user, e un oggetto session viene creato nel dashboard altrimenti, se il nome utente target non esiste, o la password è errata, restituisce null per effettuare il logout segui i passaggi seguenti vai a main storyboard, trascina un uibutton chiamato “logout”, e aggiungi un'azione tra questo uibutton e viewcontroller swift aggiungi il seguente codice in questa funzione 1 @ibaction func logout( sender any) { 2 pfuser logout() 3 } 5 codice dell'applicazione 1 import uikit 2 import parse 3 4 class viewcontroller uiviewcontroller { 5 6 @iboutlet weak var txtusernamesignin uitextfield! 7 @iboutlet weak var txtpasswordsignin uitextfield! 8 @iboutlet weak var indicatorsignin uiactivityindicatorview! 9 10 @iboutlet weak var txtusernamesignup uitextfield! 11 @iboutlet weak var txtpasswordsignup uitextfield! 12 @iboutlet weak var indicatorsignup uiactivityindicatorview! 13 14 @iboutlet weak var btnlogout uibutton! 15 16 override func viewdidload() { 17 super viewdidload() 18 } 19 20 @ibaction func signin( sender any) { 21 pfuser loginwithusername(inbackground self txtusernamesignin text!, password self txtpasswordsignin text!) { 22 (user pfuser?, error error?) > void in 23 if user != nil { 24 self displayalert(withtitle "login successful", message "") 25 } else { 26 self displayalert(withtitle "error", message error! localizeddescription) 27 } 28 } 29 } 30 31 @ibaction func signup( sender any) { 32 let user = pfuser() 33 user username = self txtusernamesignup text 34 user password = self txtpasswordsignup text 35 36 self indicatorsignup startanimating() 37 user signupinbackground {(succeeded bool, error error?) > void in 38 self indicatorsignup stopanimating() 39 if let error = error { 40 self displayalert(withtitle "error", message error localizeddescription) 41 } else { 42 self displayalert(withtitle "success", message "account has been successfully created") 43 } 44 } 45 } 46 47 @ibaction func logout( sender any) { 48 pfuser logout() 49 } 50 51 func displayalert(withtitle title string, message string) { 52 let alert = uialertcontroller(title title, message message, preferredstyle alert) 53 let okaction = uialertaction(title "ok", style default) 54 alert addaction(okaction) 55 self present(alert, animated true) 56 } 57 58 } l'interfaccia dell'applicazione sarà simile a questa 6 testa la tua app esegui la tua app e crea un paio di utenti, prova anche a effettuare nuovamente il login dopo averli registrati accedi a https //www back4app com/ trova la tua app e clicca su dashboard dashboard > core core > browser browser > utente utente prova a effettuare il login e il logout con lo stesso utente e a riconnetterti a questo punto, dovresti vedere i tuoi utenti come mostrato di seguito nota utilizzando i codici visualizzati sopra, ogni volta che accedi con un utente, viene aperta una sessione sessione nel tuo dashboard dashboard , ma quando l'utente esce, quella particolare sessione sessione termina inoltre, ogni volta che si verifica un tentativo di login o registrazione non riuscito, la sessione sessione aperta nel parse server dashboard dashboard viene eliminata è fatto! a questo punto, puoi accedere, registrarti o disconnetterti dalla tua app utilizzando le funzionalità principali di parse server tramite back4app!