분류 전체보기

    IOS - 심사없이 배포하기

    개발시간 자체를 제외하더라도 앱스토어에 새로운 버전의 앱을 배포하려면 애플의 심사를 거쳐야한다. 이렇게 개발을 해서 사용자에게 배포, 업데이트 되기까지 최소 24시간이 걸린다.(앱 마다 다름.) 애플은 보통 50%의 앱이 24시간, 90%는 48시간 이내에 완료된다고 한다. 또한 심사 기준에 적합하지 않은 버전에 대해서는 심사가 지연되거나 거부될 수 있다. 따라서 이렇게 시간이 걸리는 심사를 거치지 않고 디자이너, 마케터, 모두 만족시키는 결과를 만들어 낼 방법은 무엇인가. 이렇게 모든 문제를 해결해 주는것이 Firebase의 (원격구성)Remoteconfig ABTesting이다. 현업에서 Firebase의 Auth, Database가 사용되는건 드문 일이다. 하지만 remoteconfig와 ABTes..

    IOS - Firebase Realtime Database

    https://clamp-coding.tistory.com/entry/Use-Firebase-IOS IOS - Use Firebase IOS https://firebase.google.com/?hl=ko&gclid=Cj0KCQiA09eQBhCxARIsAAYRiymNr83EYzoFqic6qcPQekOxKEFrVTA7F8xGAvrmTufplie7WdWkDEUaAhkrEALw_wcB&gclsrc=aw.ds Firebase Firebase는 고품질 앱을 빠르게 개발하고 비.. clamp-coding.tistory.com 파이어베이스와 연결해준다 상단링크. 파이어 베이스의 RealtimeDatabase https://clamp-coding.tistory.com/entry/IOS-Firebase-Realtime-D..

    IOS - Lottie(오픈소스)

    로티: - 에어비앤비에서 제공하는 오픈소스. - JSON형태로 변환된 일명 움짤이라고 불리는 GIF파일이나 짧은 일러스트파일을 이미지뷰에 뿌려주는 편리하고 자주쓰이는 플랫폼 설치방법 코코아팟을 활용하여 추가한다. 1. 프로젝트가 있은 폴더를 우클릭, 폴더에서 새로운 터미널 열기 2. 터미널 창에서 pod init을 입력하고 엔터를 누르고 폴더에 들어가면 podfile이 만들어져있다. 3. podfile을 열어서 pod 'lottie-ios' 입력 # Pods for 프로젝트이름 pod 'lottie-ios' 3. 터미널로 돌아가서 pod install m1맥이고 오류가 난다면 $ sudo arch -x86_64 gem install ffi $ arch -x86_64 pod install 4. xcwork..

    IOS - Kingfisher(오픈소스)

    Kingfisher: 이미지 파일을 직접 다운받거나 저장하지 않고 웹에 있는 링크를 가지고 작업을 할 수 있게 해주는 오픈소스. 설치방법 코코아팟을 활용하여 추가한다. 1. 프로젝트가 있은 폴더를 우클릭, 폴더에서 새로운 터미널 열기 2. 터미널 창에서 pod init을 입력하고 엔터를 누르고 폴더에 들어가면 podfile이 만들어져있다. 3. podfile을 열어서 pod'Kingfisher' 입력 # Pods for 프로젝트이름 pod'Kingfisher' 3. 터미널로 돌아가서 pod install m1맥이고 오류가 난다면 $ sudo arch -x86_64 gem install ffi $ arch -x86_64 pod install 4. xcworkspace로 작업한다. 5. command + b..

    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를 통해서 클라이언트와 직접 실시간으로 동기화 하게 된다. 따라서 실시간 데이터 베이스와 연결된 모든 기기는 거의 동시에 서버의 모든 변경 사항을 실시간으로 반영할 수 있다. - 앱이 오프라인 일 때도 사..

    Database

    Database: - 데이터의 집합체 - 일반적으로 관계형 데이터 베이스 형태 - 행과 열이 모인 테이블이 있고 이 테이블이 여러개 존재한다. - 행과 열은 각각 위치에 맞는 값을 갖고있다 - 각 테이블은 이름을 가지고 있으며, 각각의 테이블은 관계를 맺고있다

    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..