Swift
-
SOLID in SwiftiOS/Wiki 2022. 4. 4. 01:44
안녕하세요! 오늘은 객체지향의 다섯가지 원칙인 SOLID에 대해서 공부해보겠습니다. 바로 시작하겠습니다 🐶 SOLID 원칙이란? SOLID란 객체지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 각 원칙의 맨 앞글자만 딴 원칙입니다. 1. Single Responsibility Principle(단일 책임 원칙) 2. Open/Closed Principle(개방 폐쇄 원칙) 3. Liskov Substitution Principle(리스코프 치환 법칙) 4. Interface Segregation Principle(인터페이스 분리 원칙) 5. Dependency Inversion Principle(의존성 역전 원칙) 각 원칙을 따르지 않아도 프로그래밍은 가능하지만, 시간이 지나도 유지보수와 확장이 쉬운 ..
-
POP(Protocol-Oriented Programming) in Swift (1/2)iOS/Wiki 2022. 3. 28. 20:31
안녕하세요! 오늘은 WWDC2015에서 발표했던 POP에 대해서 알아보는 시간을 갖도록 하겠습니다. 바로 시작하겠습니다🐶 먼저, 영상의 소개에는 이런 문구가 적혀있다. At the heart of Swift's design are two incredibly powerful ideas: protocol-oriented programming and first class value semantics. Each of these concepts benefit predictability, performance, and productivity, but together they can change the way we think about programming. Find out how you can apply these..
-
UICollectionView Compositional LayoutiOS/Swift 2022. 2. 17. 00:48
안녕하세요!! 오늘은 UIColletionView의 Layout중 하나인 Compositional Layout에 대해서 정리해보았습니다. 바로 시작하겠습니다 🐶 UICollectionView CompositionalLayout이란? iOS 13.0 이상부터 사용 가능한 컬렉션 뷰 레이아웃의 한 종류로, UICollectionViewLayout을 상속받아 만들어져있다. CollectionView의 레이아웃을 쉽게 커스터마이징 할 수 있는 옵션을 제공해준다. 이름처럼 여러가지 컴포넌트들로 이루어져 있는데, 다음과 같이 섹션, 그룹, 아이템으로 나누어져 있다. 왜 사용하게 되었나 기존에 사용하던 Flowlayout의 한계를 느껴서 사용하게 됐다. 다음과 같이 태그 컬렉션 뷰를 구현해야 했는데, 처음에는 UIC..
-
Firebase Auth 적용하기(전화번호 인증, Swift)iOS/Swift 2022. 2. 4. 16:07
안녕하세요!! 이번엔 Swift에서 Firebase Auth를 적용하는 방법에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Firebase Auth란? Firebase Auth는 회원가입, 로그인 등 인증과 관련된 서비스로 핸드폰 번호 인증 방식, Email / Password 인증 방식, OAuth 2.0기반의 SNS(페이스북, 카카오톡, 네이버, 트위터 등) 인증 방식 등으로 쉽게 회원가입 및 로그인을 가능하게 해주는 서비스다. 왜 써야할까? 유저 정보같은 민감한 데이터들을 내 DB에 저장해두는 것은 보안에 취약할 것 같다는 생각이 든다. 구글이라면 그래도 보안적인 측면에서 더 안전하지않을까?? 데이터가 구글에 종속되는 것이 싫다면 직접 구현하거나 다른 방법을 찾아..
-
앱에 Firebase Crashlytics 추가(Swift)iOS/Swift 2022. 1. 27. 18:42
안녕하세요!! 이번엔 Swift의 PHPickerViewController에서 이미지를 가져오는 방법에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 먼저 Crashlytics를 추가할 프로젝트의 대쉬보드로 들어가서 Crashlytics 사용설정을 눌러준다. 사용설정을 누르면 이렇게 수신대기 모드로 들어가게 된다. 프로젝트에 Firebase SDK를 설치해준 뒤, AppDelegate의 didFinishLaunchingWithOptions에서 Firebase를 인스턴스화 시켜주어야 한다. FirebaseApp.configure() 그리고 비정상 종료 보고서를 생성하려면 Crashlytics 프로젝트에 디버그 심볼(dSYM) 파일이 필요하다. 프로젝트 → TARGETS →..
-
Swift PHPicker로 여러 이미지를 가져오기iOS/Swift 2022. 1. 22. 21:07
안녕하세요!! 이번엔 Swift의 PHPickerViewController에서 이미지를 가져오는 방법에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 이번에 앱을 만들면서 구현해야 하는 기능 중에 여러장의 사진을 선택해서 업로드 할 수 있는 기능을 넣어야했다. 맨 처음에는 단순하게 ImagePicker로 구현하면 되겠지~ 했는데 ImagePicker에는 여러장을 한번에 선택할 수 있는 기능이 존재하지 않았다(...) iOS 14 이상에서는 새로 나온 PHPicker를 적용할 수 있지만, Mappin 앱의 최소 지원 버젼이 iOS 13이라 라이브러리를 더 찾아봐야 할 것 같다. iOS 14이상은 PHPicker를 사용할 수 있도록 코드를 작성해봤다. @available(i..
-
Google Maps SDK for iOS 정리iOS/Swift 2022. 1. 22. 21:03
안녕하세요!! 이번엔 Swift에서 Google Maps SDK를 사용할 때 어떤 기능이 있는지 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 지도를 사용하는 앱을 출시하기 위해 어떤 지도를 사용할지 고민했다. 국내에서만 사용할 것이라면 카카오나 네이버의 지도를 사용하면 되지만, 내가 생각하고 있는 앱은 해외 여행까지 기록해야 하기에 Apple Map이나 Google Map중에 하나를 선택해야했다. Apple Map이 해외에선 좋지만 국내에서의 평은 그다지 좋지 않기에 국내, 해외 모두 평이 무난한 Google Map을 사용하여 앱을 만들기로 했다. 이 페이지는 앱을 만들기 위해 내가 사용할 레퍼런스들을 정리한 것이다. 지도 내 위치 버튼 mapView.settings.myLo..
-
앱에 데이터 백업, 복구 기능 추가하기(Swift)iOS/Swift 2022. 1. 22. 21:00
안녕하세요!! 이번엔 Swift에서 앱에 데이터 백업, 복구 기능을 어떻게 추가하는지 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 백업기능이 왜 필요해?? 사용자가 앱을 이용할 때, 사용자의 데이터는 iOS의 Container System에 의해 그 앱의 샌드박스 내에서만 이용 가능하다. 즉, 사용자가 다른 사람들과 데이터를 공유할 수 없고, 만약 어떤 이유로든 앱을 삭제해야 할 경우에는 데이터가 같이 사라져 버리는 문제가 있다. 따라서, 사용자가 원할 때 데이터를 외부로 백업할 수 있는 기능이 필요하다. iCloud를 이용한 백업, Google Drive를 이용한 백업, 파일 앱을 이용한 백업 등 백업 기능을 구현하기 위한 방법이 많지만, 파일 앱을 이용한 백업으로 백업 기..