iOS
Swift 앱 사용자 등록 및 로그인 기능 구현하기
13 분
스위프트를 사용한 로그인 및 사용자 등록 튜토리얼 소개 이 섹션에서는 back4app을 사용하여 간단한 사용자 등록으로 앱을 만드는 방법을 설명합니다 parse server 핵심 기능 언제든지 이 튜토리얼로 구축된 전체 프로젝트에 접근할 수 있습니다 github 리포지토리 이 빠른 시작을 완료하려면 다음이 필요합니다 xcode back4app에서 생성된 앱 back4app에서 parse 앱을 만드는 방법을 배우려면 새 parse 앱 튜토리얼 을 따르세요 back4app에 연결된 ios 앱 참고 back4app에 연결된 xcode 프로젝트를 만들려면 parse sdk (swift) 설치 튜토리얼 을 따르세요 유료 apple 개발자 계정 시작해 봅시다! 다음 단계를 따르면 back4app 데이터베이스에서 로그인, 회원가입 및 로그아웃할 수 있는 앱을 만들 수 있습니다 1 회원가입 및 로그인 ui 설정 및 생성 xcode로 가서 프로젝트의 메인 폴더에 접근한 다음 viewcontroller swift 파일을 열어 편집합니다 viewcontroller swift에서 파일 상단에 parse 모듈을 포함해야 합니다 1 import parse 3\ main storyboard로 가서, 메인 스토리보드의 viewcontroller에 네 개의 uitextfield를 드래그합니다 텍스트 필드를 중앙에 배치하고, 두 개는 상단에, 두 개는 하단에 배치합니다 두 개의 uibuttons를 뷰에 드래그하여 텍스트 필드 아래에 배치합니다 각 버튼에 로더 인디케이터를 하나씩 드래그합니다 상단 버튼의 텍스트를 '로그인'으로 설정합니다 하단 버튼의 텍스트를 '회원가입'으로 설정합니다 텍스트 필드의 텍스트를 '사용자 이름'과 '비밀번호'로 설정합니다 4\ 다음으로, 스토리보드의 uitextfield를 뷰 컨트롤러의 속성과 연결합니다 viewcontroller swift의 상단에 다음 속성을 추가합니다 다음으로 스토리보드로 가서 각 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 로그아웃 로그인할 때, 로그인한 사용자를 가리키는 세션 객체가 생성됩니다 로그인에 성공하면 parseuser currentuser()가 사용자 객체를 반환하고, 대시보드에 세션 객체가 생성됩니다 그렇지 않으면, 대상 사용자 이름이 존재하지 않거나 비밀번호가 잘못된 경우 null을 반환합니다 로그아웃을 하려면 아래 단계를 따르세요 main storyboard로 가서 “logout”이라는 uibutton을 드래그하고 이 uibutton과 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 } 애플리케이션 ui는 다음과 유사할 것입니다 6 앱 테스트하기 앱을 실행하고 몇 명의 사용자를 생성한 후, 등록한 후 다시 로그인해 보세요 다음에서 로그인하세요 back4app 웹사이트 https //www back4app com/ 앱을 찾아서 클릭하세요 대시보드 대시보드 > 코어 코어 > 브라우저 브라우저 > 사용자 사용자 같은 사용자로 로그인하고 로그아웃한 후 다시 로그인해 보세요 이 시점에서 아래와 같이 사용자가 표시되어야 합니다 참고 위에 표시된 코드를 사용하여 사용자가 로그인할 때마다 세션 세션 이 대시보드 대시보드 에서 열립니다 그러나 사용자가 로그아웃하면 해당 세션 세션 이 종료됩니다 또한, 로그인 또는 가입 시도가 실패할 때마다 세션 세션 이 parse server 대시보드 대시보드 에서 삭제됩니다 완료되었습니다! 이 단계에서 back4app을 통해 parse server의 핵심 기능을 사용하여 앱에 로그인하고, 등록하거나 로그아웃할 수 있습니다!