iOS
Swift: Реализация Регистрации и Входа с Parse Server
13 мин
учебник по входу и регистрации пользователей с использованием swift введение в этом разделе объясняется, как вы можете создать приложение с простой регистрацией пользователя с использованием основных функций parse server через back4app в любое время вы можете получить доступ к полному проекту, созданному с помощью этого учебника, в нашем репозитории github чтобы завершить этот быстрый старт, вам нужно xcode приложение, созданное на back4app следуйте учебнику по созданию нового parse app чтобы узнать, как создать приложение parse на back4app ios приложение, подключенное к back4app примечание следуйте учебнику по установке parse sdk (swift) чтобы создать проект xcode, подключенный к back4app платная учетная запись разработчика apple давайте начнем! следуя следующим шагам, вы сможете создать приложение, которое будет выполнять вход, регистрацию и выход из базы данных back4app 1 настройте и создайте пользовательский интерфейс для регистрации и входа перейдите в xcode, получите доступ к основной папке проекта и затем откройте файл viewcontroller swift для редактирования в файле viewcontroller swift убедитесь, что вы включили модуль parse, добавив его в верхней части файла 1 import parse 3\ перейдите в main storyboard, перетащите четыре uitextfield на viewcontroller в основном storyboard центрируйте текстовое поле и разместите два вверху и два внизу контроллера представления перетащите еще две uibutton на представление и разместите их под текстовыми полями перетащите еще один индикатор загрузки на каждую кнопку установите текст верхней кнопки на «войти» установите текст нижней кнопки на «зарегистрироваться» установите текстовые поля на «имя пользователя» и «пароль» 4\ далее мы собираемся подключить ваши uitextfield в storyboard к свойствам в вашем контроллере представления добавьте следующие свойства в верхнюю часть viewcontroller swift затем перейдите в ваш storyboard, щелкните правой кнопкой мыши на каждом uitextfield и нажмите на ссылку, затем перетащите линию обратно к значку viewcontroller и установите его на соответствующее поле signinusernamefield подключается к полю имени пользователя для входа и т д это должно выглядеть так 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 создайте функцию входа добавьте следующий код внутри функции входа 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 создайте функцию регистрации добавьте следующий код внутри функции регистрации 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 выйти при входе создается объект session, который указывает на вошедшего пользователя если вход выполнен успешно, parseuser currentuser() возвращает объект user, и объект session создается в панели управления в противном случае, если целевое имя пользователя не существует или пароль неверен, возвращается null чтобы выйти, выполните следующие шаги перейдите в main storyboard, перетащите одну кнопку uibutton с названием “logout” и добавьте действие между этой кнопкой и viewcontroller swift добавьте следующий код в эту функцию 1 @ibaction func logout( sender any) { 2 pfuser logout() 3 } 5 код приложения 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 } интерфейс приложения будет похож на это 6 протестируйте ваше приложение запустите ваше приложение и создайте пару пользователей, также попробуйте войти снова после их регистрации войдите на сайт back4app https //www back4app com/ найдите ваше приложение и нажмите на панель управления панель управления > ядро ядро > браузер браузер > пользователь пользователь попробуйте войти и выйти с тем же пользователем и снова войти на этом этапе вы должны увидеть ваших пользователей, как показано ниже примечание используя коды, отображаемые выше, каждый раз, когда вы входите с пользователем, сессия сессия открывается в вашем панели управления панели управления , но когда пользователь выходит, эта конкретная сессия сессия заканчивается также, всякий раз, когда происходит неудачная попытка входа или регистрации, сессия сессия открытая в parse server панели управления панели управления удаляется готово! на этом этапе вы можете войти, зарегистрироваться или выйти из вашего приложения, используя основные функции parse server через back4app!