반응형

전체 글 53

[Swift] Firebase Firestore 데이터 저장하기(이메일 중복 검사)

회원가입을 할 때 회원 정보를 RealtimeDB(트리구조)를 사용해서 저장했는데, 이번에는 Firestore 기능으로 데이터를 사용해보려고 한다. 테스트 모드를 선택했다. 서울 위치로 변경해주었다. DB가 만들어졌다. 회원가입 할 때 이메일 중복 검사를 위한 로직을 구현하기 위해 테스트 데이터를 하나 넣어주었다. USER 정보를 넣을 USER 컬렉션(Table 같은 느낌)을 만들고, 문서(document)는 회원의 이메일로 분류하고, 이 문서 안의 필드(컬럼 같은 느낌)들은 가입시 필요한 회원 정보를 넣어주었다. SQL을 사용하는 RDBMS(관계형 데이터베이스)에서 볼 수 있는 테이블-컬럼 구조와는 다른 느낌의 구조다. var firestore: Firestore! let db = Firestore.f..

DEV - iOS/iOS 2022.05.21

[Swift] Firebase Auth 로그인 기능

Firebase의 실시간 데이터베이스를 간단하게 사용해봤는데, 회원가입과 로그인 기능은 Firebase의 Authentication 기능으로 더 편리하게 관리할 수 있다. Firebase Console - Authentication 다양한 소셜 로그인 기능도 제공하고 있는데 이건 다음에 추가하도록 하고! 이메일/비밀번호를 선택한다. 비밀번호가 없는 로그인은 사용하지 않았다. 새 제공업체 추가 버튼을 누르면 소셜 기능을 추가할 수 있고, 오른쪽 연필 버튼을 누르면 비밀번호가 없는 로그인 설정도 다시 해줄 수 있다. Users 탭을 클릭하면 Auth 기능을 통해 가입한 사용자들을 볼 수 있고, 사용자 추가 버튼을 눌러서도 추가할 수 있다. Firebase Console에서 설정은 끝났으니 이제 코딩하면 된다..

DEV - iOS/iOS 2022.04.27

[Swift] iOS 프로젝트에 Firebase 연동하기 2 - Realtime Database

이번에는 실제적으로 iOS 프로젝트에서 필요한 기능인 Database 패키지를 추가하고 간단한 테스트 코드를 작성해서 실행해보았다. 1. Firebase - Realtime Database 설정 Realtime Database를 생성하고 규칙을 읽기 / 쓰기 모두 true로 해준다. 변경하고 나서 나오는 게시 버튼을 꼭 눌러야 한다. 2. SDK 추가 지난번 게시글에서 CocoaPods를 사용해서 SDK를 추가해봐야겠다고 마음을 먹었었는데, 그냥 자연스럽게 했었던 방법대로 XCode 내에서 Firebase Database SDK를 추가했다. 다음에는 꼭 .. pod 써보기로 약속 ~ XCode File -> Add Packages -> URL에 Firebase 입력 -> Add Package -> Fir..

DEV - iOS/iOS 2022.04.11

[Swift] iOS 프로젝트에 Firebase 연동하기

Side Project를 진행하면서 DB서버 구축하는 데에 편의성을 높이기 위해 Firebase를 사용하기로 했다. 예전에 안드로이드 프로젝트를 했을 때 Firebase를 사용해서 채팅 기능을 간편하게 구현했는데, 이번 프로젝트에서도 용이하게 쓰였으면 좋겠다..!! 1. CocoaPods 설치 CocoaPods는 Swift나 Object-C 프로젝트에 필요한 라이브러리들을 관리하는 곳이다. https://cocoapods.org CocoaPods.org CocoaPods is built with Ruby and is installable with the default Ruby available on macOS. We recommend you use the default ruby. Using the def..

DEV - iOS/iOS 2022.04.11

[XCode / Error] Unable to boot device because it cannot be located on disk

프로젝트 파일을 삭제하다가 캐시 때문에 빌드에 문제가 있었다. finder에서 xcode 캐시가 있는 폴더들을 삭제하다가 시뮬레이터 관련된 폴더도 삭제한 것 같다. 프로젝트를 실행시키니까 디바이스 관련한 팝업이 뜨면서 실행되지 않았다. 해결 방법은 터미널에서 xcrun simctl erase all 입력하면 완료! 아주 빠르게 해결되었다. - 참고 https://stackoverflow.com/questions/47445797/unable-to-boot-device-because-it-cannot-be-located-on-disk

DEV - iOS/iOS 2022.04.06

[Swift] 스위프트 기본 문법 공부(8) - Properties

프로퍼티는 클래스, 구조체, 열거형에 있는 변수 및 속성들을 말한다. class MyLaptop { let model = "MacBookPro" var os = "Monterey" var osVersion = "12.0.1" let chip = "AppleM1Pro" let memory = 16 let displaySize = 14 } class 내부에 선언한 변수나 상수들을 프로퍼티라고 할 수 있다. Stored Property - 저장 프로퍼티 // class MyLaptop 인스턴스화 let macbook = MyLaptop() // stored property(저장 프로퍼티) // 값을 가져와서 사용할 수 있음 macbook.osVersion = "12.0.2" print(macbook.model..

DEV - iOS/iOS 2022.02.18

[Swift] 스위프트 기본 문법 공부(7) - Class(참조 & 상속)

class MyInfo { // Class 내부에는 변수, 함수, 열거형 등등 선언할 수 있음 enum GenderType { case male case female } var genderType = GenderType.male var name = "" var age = 0 func isAdult() -> Bool { if age > 19 { return true } return false } } 나의 정보를 담는 class를 선언했다. init 키워드를 사용하여 class를 인스턴스화 하여 사용할 때 초기값을 세팅할 수 있다. class MyInfo { // class 초기화 init(gender: GenderType) { self.genderType = gender } // Class 내부에는 변수,..

DEV - iOS/iOS 2022.02.17

[Swift] 스위프트 기본 문법 공부(6) - Enumerations

열거형(Enumerations)은 공통된 속성으로 이루어진 그룹을 자료형(type)으로 새롭게 만드는 것이다. 책으로 예를 들어보면, 책은 소설, 만화, 잡지, 인문 등등 책이라는 공통된 타입 안에서 여러 분류를 할 수 있다. enum Books { case fiction case comics case magazine } // 한 줄로 선언하기 enum Books { case fiction, comics, magazine } enum 키워드를 사용해서 선언한 열거형은 'Books'이라는 새로운 자료형을 만든 것이다. var myBook = Books.comics var myBook2:Books? // 기본 타입을 정하지 않는 경우 myBookType 변수와 whatBookType 변수는 Books 타입으..

DEV - iOS/iOS 2022.02.15

[Swift] 스위프트 기본 문법 공부(5) - 함수 & 클로저

Function 함수 func plus(num1:Int, num2:Int) -> Int { return num1 + num2 } // 튜플 형태의 리턴값 func plus2(num1:Int, num2:Int) -> (String, Int) { return ("두 수를 더하면", num1 + num2) } let a = 10 let b = 20 var result = plus2(num1: a, num2: b) 두 수를 파라미터로 받아 더해서 반환하는 함수를 작성했다. func 키워드와 함수명을 적고 괄호 안에 파라미터 이름과 타입, -> 뒤에는 리턴 타입을 적어준다. // 함수 호출 var sum = plus(num1: 10, num2: 30) sum 변수에는 10과 30을 더한 40이 담기게 된다. //..

DEV - iOS/iOS 2022.02.14

[Swift] 스위프트 기본 문법 공부(4) - Set & Dictionary

Set Set 타입 또한 Array처럼 여러 개의 값을 저장하지만, 순서와 중복 없이 값을 저장한다는 차이점이 있다. // Set type 변수 선언 & 초기화 방법 1 var names = Set() names.insert("baby") names.insert("coder") names.insert("baby") // Set type 변수 선언 & 초기화 방법 2 var names2: Set = ["name1", "name2", "name2", "name2"] Array와 유사하게 선언한다. 첫 번째 선언 방법으로는 insert()를 사용해서 값을 대입한다. "baby"라는 값은 중복되기 때문에 names에 마지막으로 삽입한 "baby" 삽입되지 않게 된다. 결과적으로 names에는 "baby" , "..

DEV - iOS/iOS 2022.02.09
반응형