분류 전체보기
IOS - UIAlertController 팝업(알림)창
1. 알람 객체 선언 및 초기화 2. 알람 버튼 만들기 3. 알람 객체와 알람 버튼 연결 4. 화면에 표현 이 순서대로 진행하면 된다. 1. let alert = UIAlertController(title: "성공", message: "회원가입 완료!", preferredStyle: UIAlertController.Style.alert) UIAlertController객체 생성 및 초기화. 2. let okAction = UIAlertAction(title: "확인", style: .default) {(action) in // 버튼을 클릭시 할 작업을 넣는다. return } 예를 들어 버튼을 클릭하면 메인화면을 보여주겠다 라고 할 경우 let okAction = UIAlertAction(title: "..
Swift - DateFormatter
DateFormatter는 날짜, 시간 등과 관련된 객체이다. 에를들어 "2020-05-16 11:30" String 형태를 Date 형태로 변환하여 날짜를 계산한다던지, "2020-05-16 11:30" String을 "2020년 05월 15일 오전 11시 30분" 형태로 변환한다던지.. 1. Date를 원하는 형식의 Format로 변환. Date()를 선언하면 현재의 Date를 얻을 수 있다. 이 때 얻은 Date는 "2020-08-13 09:14:48 +0000"이런 형태로 전달받게된다. 원하는 형식으로 바꾸고자 한다면 DateFormatter의 dateFormat이라는 함수를 이용하면 된다. 예) "yyyy-MM-dd HH:mm" -> "2020-03-11 02:52" yyyy: 년도 MM: 월 ..
IOS - Navigation Controller
Navigation Controller: - 계층적 내용을 탐색하기 위한 스택 기반의 체계를 정의하는 컨테이너 뷰 컨트롤러. 스택: Stack ㅇ LIFO(Last in First Out) 자료구조로 가장 늦게 push된 item이 가장 먼저 pop된다 ㅇ push: item 넣기 ㅇ pop: item 빼기 ex) 아이폰의 설정창 Navigation Bar - UINavigaitonBar - 화면 상단에 항상 보여지는 bar - root view 이외의 모든 view에서 back버튼이 있어서, 유저가 계층구조에서 다시 뒤로갈 수 있게끔 해준다. - 현재의 stack level에 있는 view controller에 맞게 변한다. func setupNaviBar(){ title = "회원목록" //네비게이션..
IOS - Local Notification
Local Notification(로컬 알림) - 앱 내에서 자체적으로 만든 특정 메시지를 전달하는 알림 - 사용자의 관심을 끄는데에 기본적인 목적이 있다. - 알림을 재생하거나, 앱 아이콘에 뱃지를 지정할 수 있다. - 예를들어 백그라운드앱은 앱이 특정 작업을 완료할 때 경고를 표시하도록 시스템에 요청을 할 수 있다. - 사용자가 원하는 중요한 정보를 전달하는 방법 중 하나이다. UNNotificationRequest(UN은 User Notification의 약자) Local Notification을 이용하기 위해 UNNotificationRequest를 작성해야한다. UNNotificationRequest을 작성하려면 3가지 내용이 필수적으로 요구가 된다. 1. ID(identifier) - 각각의 ..
IOS - Firebase A/B Testing
A/B Testing: - 어떤것이 최적의 환경인지 테스트하는 방법. - 어떤 사용자를 테스팅 대상으로 할지, Google Analytics를 사용해서 구분짓거나 - Firebase 예측을 통해 자동으로 생성된 사용자군으로 타겟팅을 할 수 있다. - 테스팅방법: 원격구성(Remote Config 또는 알림작성기(Cloud Messaging) 활용 - 제품, 마케팅을 실험할 때 어떤것이 최적의 환경인지 데이터기반 의사결정 방법 - 이미 개발한 기능에도 테스트가 필요할 수 있다.
IOS - Firebase Remote Config
원격구성(Remote Config)이란? - 사용자가 업데이트를 다운로드 할 필요없이 앱의 동작과 모양을 변경할 수 있는 클라우드 서비스. - 앱 업데이트를 개시하지 않아도 하루 활성 사용자 제한없이 무료로 앱에 동작과 모양을 변경할 수 있다 - 클라우드 기반 key-value 저장소 - 원격구성을 사용할 때에는 앱의 동작과 모양을 제어하는 인앱 기본값을 만들고 이후에 설정한 기본값을 재정의하며 몇 분 내에 앱에 반영을 할 수 있다. 예) 기본값을 설정해 두고 사용자에게 배포를 했다면, firebase 원격구성의 웹 콘솔을 통해 설정해둔 프로모션텍스트 키 값을 변경할 수 있다. 별도의 앱 업데이트 없이, 심사없이, 변경할 수 있다. 앱 업데이트 없이 몇 분 내에 또는 사용자가 앱을 재실행 했을 때 바로 ..
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..