분류 전체보기
UIkit - UITableView
UITableView: - 데이터를 목록형태로 보여줄 수 있는 UI컴포넌트 - 여러개의 셀을 가지고있고, 한개의 열과 여러줄의 행을 가지고 있으며, 수직으로만 스크롤이 가능하다. - DataSource는 Data를 받아 뷰를 그려주는 역할 - Delegate는 TableView의 동작과 외관을 담당한다. UITableViewDelegate를 통해 데이터를 전달받을 수 있다. tableView.reloadData() //테이블뷰의 데이터를 다시 읽어옴 tableView.rowHeight = 60 // 셀의 높이 설정 // 스토리보드서 identifire를 지정한게 코드로 작성할 경우 register에서 작성 // 코드로 작성한 경우 커스텀 셀 등록 / 메타타입⤵️ tableView.register(MyTa..
Firebase - Cloud Firestore
Cloud Firestore - 실시간 데이터 베이스 이후로 나온 비교적 최근에 제공하기 시작한 플랫폼. - 실시간 데이터 베이스와 같이 비관계형 데이터 베이스로, 실시간 데이터 베이스에서 제공하는 주요 기능들을 제공한다. - Firebase에선 Realtime database와 Cloud Firestore 데이터 베이스 모델의 차이가 있고 따라서 데이터 베이스를 사용하고자 하는 앱이 어떤 특성을 가지느냐에 따라서 권장하는 데이터 베이스가 다르다고한다. - Firestore가 좀 더 복합적인 쿼리기능을 제공한다. - JSON이 아닌 문서와 컬렉션의 조합을 제공한다. - 하나의 컬렉션이 여러개의 문서를 가지고, 각각의 문서는 하위의 컬렉션을 가질 수 있는 구조. - 여러개의 필터를 서로 연결하거나 필터와 ..
Firebase - Realtime Database
Realtime Database(실시간 데이터 베이스) - 비관계형 클라우드 데이터베이스(No SQL Database) - 보통의 관계형 데이터베이스와 다르다. - 비관계형 데이터베이스는 대량의 데이터를 대량으로 처리하는데, 점점더 많은더 많은 데이터를수집하고 활용하는 모바일, 웹, 어플리케이션을 개발하는데 조금 더 적당하다. - JSON 기반의 데이터를 가져오고, 내보내고, 관리하는데에 최적화 되어있다. - 실시간 - HTTP요청이 아닌 동기화 방식 실시간 데이터 베이스는 옵저버와 스냅샷과 같은 SDK를 통해서 클라이언트와 직접 실시간으로 동기화 하게 된다. 따라서 실시간 데이터 베이스와 연결된 모든 기기는 거의 동시에 서버의 모든 변경 사항을 실시간으로 반영할 수 있다. - 앱이 오프라인 일 때도 사..
IOS - Firebase 비밀번호 변경
Firebase 로그인 한 상태에서 사용자 값을 업데이트 할 수 있다. 로그인을 제공하는 서비스에서 가장 흔하게 발생하는 요청중 하나는 비밀번호를 잃어버렸다는 요청이다. Firebase 인증의 경우엔 별도의 앱 화면 개발 없이도 사용자가 비밀번호를 변경할 수 있도록 해당 기능을 제공한다. //해당경로로 갔을때 provierID가 "password"면 로그인을 이메일/비밀번호로 했다는 의미. Auth.auth().currentUser?.providerData[0].providerID == "password" //email에 현재 접속한 유저의 email을 저장한다. let email = Auth.auth().currentUser?.email ?? "" //위의 email로 패스워드를 변경할 수 있는 메일을..
IOS - Firebase Auth Google login
Firebase 접속, Authentication접속 sign-in method 탬에서 제공업체 구글을 선택해준다. 여기서 프로젝트의 공개용 이름은 차후에 구글 권한을 요청할 때에 사용자에게 "앱이름" 이 사용자 권한을 요청합니다. 라는 의미를 표시할떄 사용되는 이름이다. 이름을 설정해주고 저장을 누른다. 구글 로그인을 사용하려면 podfile에 추가적으로 추가해야하는 podfile이 있다. 해당 프로젝트의 podfile을 열어준 후 아래를 입력해주고, 해당 프로젝트의 터미널에서 pod install을 해준다. pod 'GoogleSignIn' m1 맥북이며, 에러가 발생한다면 pod install 대신 $ sudo arch -x86_64 gem install ffi $ arch -x86_64 pod i..
IOS - Use Firebase Authentication
파이어 베이스 프로젝트의 빌드 -> Authentication으로 이동 사용할 권한을 설정하고 Xcode로 돌아간다. 이메일/비밀번호를 가지는 계정정보를 파이어베이스 인증에 전달하는건 로그인 버튼을 눌렀을 때 이다. 신규 사용자는 Auth.auch().createUser로 만들 수 있다. Auth.auth().createUser(withEmail: , password: , completion: ((AuthDataResult?, Error?) -> Void)?) Firebase Auth SDK에서 Firebase Auth 인증 플랫폼에 전달할 수 있다. completion클로저 내에서는 인증 받았을 때 AuthDataResult? 객체로, 실패한다면 Error객체로 결과를 받을 수 있다 하지만 순환참조 바..
IOS - Use Firebase
https://firebase.google.com/?hl=ko&gclid=Cj0KCQiA09eQBhCxARIsAAYRiymNr83EYzoFqic6qcPQekOxKEFrVTA7F8xGAvrmTufplie7WdWkDEUaAhkrEALw_wcB&gclsrc=aw.ds Firebase Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다. firebase.google.com 파이어베이스 사이트로 이동하여 콘솔로 이동버튼을 누르고 프로젝트 생성을 한다. Apple번들 ID는 아래의 Xcode의 프로젝트를 클릭하면 나오게되는데 Bundle Identifier를 넣어주면 된다. 이후 GoogleService-Info.plist 파일을 드래그로 Xcode..
OAuth
Oauth: - 사용자 인증 방식에 대한 업계 표준 - 인증에 대한 규격화된 프로토콜을 제공하는 표준 인증 방식 - ID/PW를 노출하지 않고 OAuth를 사용하는 업체의 API접근 권한을 위임 받음. - 기본개념 1. User Service Provider에 게정을 가지고 있는 사용자 2. Consumer Service Provider의 API(제공기능) 을 사용하려는 서비스 (웹, 앱 등) 3. Service Provider Oauth를 사용하여 API를 제공하는 서비스 4. Access Token인증 완료 후 Sefvice Provideer의 제공 기능을 이용할 수 있는 권한을 위임받은 인증 키
Firebase
Firebase Firebase는 프론트앤드 개발에 필요한 여러 플랫폼을 제공하는 서비스다. Build, Release&Monitor, Engage 등 목적에 따라 여러가지 서비스를 제공한다. 하나의 앱 서비스에 있어서 백앤드가 여러부분을 담당한다. 실시간으로 발생하는 여러 데이터를 저장하고, 저장한 데이터를 불러오고 수정, 삭제하는 데이터베이스 역활 Cloud Firestore, Realtime Database 원격으로 특정 사용자에게 알림메세지를 보내는것 - Push알림- 이것역시 원격으로 메세지를 보내는 서버가 필요하다. Cloud Messaging 이 외에도 특정 세그먼트에 해당하는 사용자를 분류하는것 Google Analytics 분류한 사용자에게 메세지나 특정 화면을 보여주는것 Remote C..