Регистрация пользователя с ParseSwift SDK в iOS приложении
8 мин
регистрация пользователя введение большинство реальных приложений часто используют функции, основанные на пользователе, чтобы предоставить более персонализированный сервис клиентам эти функции требуют от клиента регистрации в приложении с помощью платформы back4app и \<font color="#2166ae">parseswift sdk\</font> , вы сможете просто и быстро реализовать эти функции в своих приложениях предварительные требования для завершения этого учебника вам потребуется приложение созданное на back4app https //www back4app com/docs/get started/new parse app базовое ios приложение для тестирования запросов цель реализовать функцию регистрации пользователя в ios приложении с использованием \<font color="#2166ae">parseswift sdk\</font> 1 понимание процесса регистрации пользователя чтобы интегрировать опцию регистрации в приложении ios, необходимо создать объект, который соответствует \<font color="#2166ae">parseuser\</font> протоколу этот протокол реализует основные необходимые свойства, чтобы back4app мог хранить и управлять информацией для входа следующий фрагмент показывает, как можно реализовать объект пользователя 1 import foundation 2 import parseswift 3 4 struct user parseuser { 5 // additional properties required by the parseuser protocol 6 var authdata \[string \[string string]?]? 7 var originaldata data? 8 var objectid string? 9 var createdat date? 10 var updatedat date? 11 var acl parseacl? 12 13 // main properties linked to the user's information 14 var username string? 15 var email string? 16 var emailverified bool? 17 var password string? 18 19 // a custom property 20 var age int? 21 } как видно из приведенного выше фрагмента, \<font color="#2166ae">parseswift\</font> позволяет нам иметь очень гибкую реализацию для объекта пользователя подобно полю \<font color="#2166ae">age\</font> мы можем добавлять столько дополнительных полей, сколько необходимо как только объект \<font color="#2166ae">user\</font> готов, протокол \<font color="#2166ae">parseuser\</font> предоставляет этому объекту набор методов для обработки всех необходимых операций с пользователем, таких как регистрация , вход , выход , и т д на следующем шаге мы сначала рассмотрим, как реализовать запрос на регистрацию 2 создание запроса на регистрацию мы начинаем с добавления соответствующей формы, где пользователь вводит свои учетные данные пусть \<font color="#2166ae">viewcontroller\</font> (подкласс \<font color="#2166ae">uiviewcontroller\</font> ) будет классом, в котором мы реализуем форму в приведенном ниже фрагменте мы отмечаем ключевые элементы, которые должна иметь базовая форма регистрации 1 import uikit 2 import parseswift 3 4 class viewcontroller uiviewcontroller { 5 // user inputs 6 @iboutlet weak var usernametextfield uitextfield! 7 @iboutlet weak var emailtextfield uitextfield! 8 @iboutlet weak var passwordtextfield uitextfield! 9 10 // sign up button 11 @iboutlet weak var signupbutton uibutton! 12 13 override func viewdidload() { 14 super viewdidload() 15 16 // add additional code if needed 17 } 18 19 // called when the user taps on the signupbutton 20 @ibaction func handlesignup( sender any) { 21 guard let username = usernametextfield text, let password = passwordtextfield text else { 22 return showmessage(title "error", message "the credentials are not valid ") 23 } 24 25 signup(username username, email emailtextfield text, password password) 26 } 27 28 // this method prepares and registers the new user 29 private func signup(username string, email string?, password string) { 30 // todo here we will implement the signup action 31 } 32 33 // presents an alert with a title, a message and a back button 34 func showmessage(title string, message string) { 35 let alertcontroller = uialertcontroller(title title, message message, preferredstyle alert) 36 37 alertcontroller addaction(uialertaction(title "back", style cancel)) 38 39 present(alertcontroller, animated true) 40 } 41 } мы оставляем часть макета разработчику вы можете интегрировать и настроить визуальные компоненты в соответствии с вашими потребностями далее, на следующем шаге, мы реализуем \<font color="#2166ae">signup(username\ email\ password )\</font> метод 3 реализация функции регистрации первый шаг для регистрации пользователя заключается в том, чтобы иметь экземпляр объекта \<font color="#2166ae">user\</font> с соответствующими учетными данными поля \<font color="#2166ae">имя пользователя\</font> и \<font color="#2166ae">пароль\</font> являются обязательными для регистрации нового пользователя, остальные поля являются необязательными таким образом, типичный способ создать экземпляр объекта \<font color="#2166ae">user\</font> будет 1 var newuser = user(username "acoolusername", email "myemail\@domain net", password "mysecurepassword") 2 newuser age = 25 кроме того, мы также должны предоставить начальные значения для пользовательских полей, таких как поле \<font color="#2166ae">возраст\</font> , в нашем случае следующий шаг — выполнить действие регистрации протокол \<font color="#2166ae">parseuser\</font> реализует метод \<font color="#2166ae">signup( )\</font> который позволит нам отправить запрос на регистрацию в приложение back4app существует три типа реализаций для \<font color="#2166ae">signup( )\</font> в зависимости от случая использования следует выбрать подходящий теперь мы можем завершить \<font color="#2166ae">signup(username\ email\ password )\</font> в \<font color="#2166ae">viewcontroller\</font> 1 class viewcontroller uiviewcontroller { 2 3 4 private func signup(username string, email string?, password string) { 5 var newuser = user(username username, email email, password password) 6 newuser age = 25 // warning this should be entered by the user, not hardcoded 7 8 //warning only use one of the following cases, the synchronous or the asynchronous case 9 10 // the below registers the user synchronously and returns the updated user object (stored on your back4app application) 11 do { 12 let signedupuser = try newuser signup() 13 showmessage(title "signup succeeded", message "\\(user)") 14 usernametextfield text = nil 15 emailtextfield text = nil 16 passwordtextfield text = nil 17 } catch let error as parseerror { 18 showmessage(title "error", message error message) 19 } catch { 20 showmessage(title "error", message error localizeddescription) 21 } 22 23 // the below registers the user asynchronously and returns the updated user object (stored on your back4app application) wrapped in a result\<user, parseerror> object 24 newuser signup { \[weak self] result in 25 switch result { 26 case success(let signedupuser) 27 self? showmessage(title "signup succeeded", message "\\(signedupuser)") 28 self? usernametextfield text = nil 29 self? emailtextfield text = nil 30 self? passwordtextfield text = nil 31 case failure(let error) 32 self? showmessage(title "error", message error message) 33 } 34 } 35 } 36 } примечание регистрация нового пользователя с помощью метода \<font color="#2166ae">signup( )\</font> автоматически выполняет вход пользователя, поэтому пользователю не нужно снова входить, чтобы продолжить использование вашего приложения в любое время в течение жизненного цикла вашего приложения вы можете получить доступ к текущему вошедшему пользователю через статическое свойство, реализованное в протоколе \<font color="#2166ae">parseuser\</font> 1 let loggedinuser user? = user current в этом репозитории https //github com/templates back4app/ios user registration app вы можете найти простое приложение для регистрации пользователей, которое следует шагам, описанным выше заключение платформа back4app вместе с \<font color="#2166ae">parseswift sdk\</font> предлагает быстрый и простой способ интеграции процесса регистрации в ваши ios приложения кроме того, в следующих руководствах мы рассмотрим оставшиеся процедуры, такие как вход, выход и т д