스파르타 코딩 클럽 - iOS 스타터 6기/본 캠프 48

48. 스파르타 코딩 클럽 - xcconfig 파일을 사용하여 Github로 부터 API 키 감추기

xcconfig 파일을 통해 Github ignore 설정하기[ 1. xcconfig 파일 생성 ] [ New File from Templete... 클릭 ] → [Other 부분에 Configuration Settings File 클릭 ] [ 2. API 키 작성하기 ]만든 xcconfig 파일에 사용하는 API 키를 작성한다. [ 3. PROJECT에 등록 ] [ 4. Info.plist 에서 API 키 추가 ] [ 5. 사용 예시 ]func fetchBooksFromKakaoAPI() { guard let filePath = Bundle.main.path(forResource: "Info", ofType: "plist") else { return } l..

47. 스파르타 코딩 클럽 - UITabBarController

🎯 UITabBarController UITabBarController | Apple Developer DocumentationA container view controller that manages a multiselection interface, where the selection determines which child view controller to display.developer.apple.com UITabBarController는 iOS 앱에서 탭 기반 인터페이스를 제공하는 클래스이다.Swift로 개발할 때 UITabBarController를 사용하면 화면 하단에 탭 바(tab bar)를 배치하고,탭마다 서로 다른 뷰 컨트롤러를 연결하여 전환할 수 있다. [ 사용 예시 - 아이폰 알람 ..

46. 스파르타 코딩 클럽 - RxSwift

ReativeXReactiveX와 RxSwift 란? ReactiveXCROSS-PLATFORM Available for idiomatic Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, and othersreactivex.io ReactiveXAn API for asynchronous programming with observable streams → ReactiveX 는 옵저버블 스트림으로 비동기 프로그래밍을 돕는 API입니다.ReactiveX는 이전 강의들에서 배운 비동기 프로그래밍과 옵저버 패턴을 사용하기 쉽도록 돕는 라이브러리입니다. 데이터의 변화에 반응하는 프로그래밍을 하게 되어 반응형 프로그래밍 이라고도 합니다.Micros..

45. 스파르타 코딩 클럽 - UICollectionViewCompositional Layout

🏁 UICollectionView Flowlayout오늘 스탠다드 분반 수업에서 Compositional Layout을 배웠다.CollectionView에서 Flowlayout을 이전에 배웠었는데 Flowlayout의 단점을 해결하기 위해사용하는 Compositional layout을 새로 배웠다. Flowlayout의 단점먼저 Flowlayout의 단점이라고 하면, 하나의 CollectionView에 한 가지 레이아웃만 구성할 수 있고,복잡한 레이아웃은 구성할 수 없는 단점이 있다. 다음과 같은 화면을 구성하기 위해 Flowlayout은 전체를 감싸는 UITableView, UICollectionView 안에빨간 부분은 UICollectionView, 갈색 부분은 UICollectionView,초..

44. 스파르타 코딩 클럽 - Xcode Instruments, 동기 / 비동기

💻 Xcode Instruments, 프로파일링▪️ Xcode Instruments 란Xcode 에서 제공하는 앱의 성능 분석 및 디버깅 도구앱 개발자라면 메모리 릭이 나지 않는 앱을 개발해야 하므로, 메모리 릭에 대한 분석을 할 때 Xcode Instruments를 활용하면 좋음Xcode Instruments 를 통해서 성능 분석, 메모리 릭 분석을 할 수 있음이번 강의에서는 Xcode Instruments 를 활용해서 메모리 릭을 잡아내는 공부를 해봅니다.메모리 릭 분석을 하면서 스택 트레이스(Stack Trace) 도 함께 확인 가능 Stack Trace스택(Stack)을 추적(Trace)한다.코드를 실행하면 스택에 쌓이면서 코드를 수행하게 된다. 이를 콜 스택(Call Stack)이라 함.코..

43. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (5)

🧑‍💻 숙련 주차 팀 프로젝트오늘은 팀 프로젝트 5일 차이다.오늘 할 작업은 3가지이다. 첫째 등록 화면에서 사용자가 터치한 부분에 임시 마커를 등록하고,사용자가 터치한 부분의 위도와 경도를 받아와서 등록하기 버튼을 누르면 임시 마커가 사라지고,킥보드 마커가 등록되게 하는 것 둘째 등록화면에서 등록된 마커를 클릭하면 삭제를 할 수 있는 Alert 창을 띄우고 삭제 버튼을 클릭하면선택한 마커를 지도에서 삭제한다. 셋째 프로젝트 README 작성하기이다. 📍 임시 마커 등록하기[ 1. AddViewController에 NMFMapViewTouchDelegate 채택 ]// 지도 터치 이벤트를 위한 NMFMapViewTouchDelegate 채택class AddViewController: UIVie..

42. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (4)

🧑‍💻 숙련 주차 팀 프로젝트오늘은 팀프로젝트 4일차이다.오늘 구현할 내용은 마커 등록이다. 마커를 등록하기 위해서는 CoreData를 사용해서 위도와 경도 값을 디바이스에 저장하고저장된 위도와 경도 값을 불러와서 마커로 표시해주면 된다. 추가로 gps 버튼을 누르면 현재 위치로 지도를 이동하게 하는 것도 구현하였다.그리고 지도를 마우스로 선택하면 위도와 경도를 받아와서 textView에 표시하고 등록하는 것도 구현하였다. 🗺️ 지도의 기본 위치 값 변경하기네이버 Map API를 이용하여 지도를 표시할 때아무런 설정을 해주지 않으면 기본적으로 네이버 본사가 위치한 판교 정자역 근처 중심으로 지도가 표시된다. 나는 지도의 기본 위치를 홍대입구역으로 바꾸기 위해 코드를 추가 작성하였다.lazy var..

41. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (3)

🧑‍💻 숙련 주차 팀 프로젝트오늘은 팀 프로젝트 3일 차이다.오늘 구현할 내용으로는 AddViewController에 Kakao map API를 사용하여 지도 띄워보기,킥보드 등록 로직 구현이다. ⚠️ Kakao MAP API먼저 카카오 맵 API를 사용하기 위해서는 준비 과정이 필요하다. 카카오계정 accounts.kakao.com [ 1. kakao developers에서 애플리케이션 추가하기 ] 아래 부분에 앱 이름, 회사명, 카테고리를 선택하고 저장을 눌러준다.앱 아이콘은 생략 가능하다. [ 2. 애플리케이션 선택 → 앱설정 → 플랫폼에서 번들 ID 등록하기 ] - 내 프로젝트의 번들 ID는 Xcode내 General → Identity에서 확인할 수 있다. [ 3. Xcode에 앱..

40. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (2)

🧑‍💻 숙련 주차 팀 프로젝트오늘은 팀 프로젝트 2일 차이다.오늘의 작업 내용은 킥보드 등록 페이지의 UI를 구현하고,지도 API 관련 자료를 찾아보며 공부하는 것이다. 우리 팀은 회의를 통해 Kakao API를 사용하기로 했다.나는 먼저 지도를 구현해 보기 전에 UI를 먼저 작업하기로 했다. 추가로 튜터님께 SA 피드백을 받고 사용자 상호작용에 관련된 와이어 프레임을 추가로 작성하고 폰트를 추가했다. 🔠 Font 추가우리 팀에서 추가한 폰트는 네이버 폰트 중 하나인 나눔스퀘어 네오이다. 네이버 글꼴 모음네이버가 만든 150여종의 글꼴을 한번에 만나보세요hangeul.naver.com [ 프로젝트에 폰트 추가하기 ]1. 프로젝트에 폰트 추가하기 2. Info.plist에 폰트 등록하기 3. ..

39. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (1)

🧑‍💻 숙련 주차 팀 프로젝트오늘(4월 25일)부터 5월 2일까지 팀 프로젝트를 진행한다.API를 사용해서 네트워크 통신을 하고 데이터를 저장하고 사용하는 프로젝트를 진행한다. 주제는 2가지 중 팀별 회의를 통해 1가지를 선택하게 된다.킥보드 예약 앱과 영화 예매 앱 중에 우리 팀은 지도 API를 사용하는 킥보드 예약 앱을 만들어 보기로 결정했다. 오늘 진행한 내용은 와이어 프레임 제작, 역할 분담, 마일스톤 설정, 컬러 코드 설정 등등 프로젝트 진행 초반에수행해야 하는 것을 하였다. 팀 프로젝트의 앱 이름은 Swift이다.Swift는 형용사로 빠른 이라는 뜻을 가지고 있는데우리가 현재 배우고 있는 Swift와 킥보드의 빠른 속도를 연관 지어서 이름을 지어봤다. 📱 와이어 프레임 Figma로 ..