Joohee Kim's Blog

신규 프로젝트에 Swiftlint 적용하기

새로운 프로젝트 시작할 때 개발하기 전에 설정하는 것들이 있다. 최소 운영체제 버전을 설정하거나 지원되는 기기 등 여러 가지가 있다. 그중 하나는 스위프트 스타일이나 코드 포맷을 맞추기 위한 도구인 SwiftLint를 추가하는 경우가 있다. 시간이 지나 다시 신규 프로젝트를 만들 때 SwiftLint 추가하는 방법이 까먹을 때가 있다. 그래서 설정하는...

Image from Unsplash

iOS에서 카메라 캡처

사이드 프로젝트 진행하면서 Vision Framework을 다뤄봤는데, 자연스럽게 카메라 기능에 대한 기술도 접하게 되었다. 단순하게 시스템 카메라 UI를 사용할 수 있고 직접 카메라 UI를 구현할 수 있었는데, 사이드 프로젝트 특성에 따라 자체 커스텀 카메라 UI를 구현하게 되었다. 이 블로그 포스트는 AVFoundation 사용해서 자체 커스텀 ...

배열에서 일치하는 항목을 계산하는 방법

Swift 6.0부터 count(where:) 메서드가 새로 나왔는데, 스위프트 6.0을 사용하지 않는다면 아래 확장해서 사용하면 된다. 스위프트에서 배열이나 컬렉션 안에서 특정 항목의 개수를 구하고 싶으면 filter()를 이용해서 구할 수 있다. 예를 들어, 0과 1을 구성하는 배열에서 1의 개수를 구하고 싶다면 아래와 같이 작성할 수 있다....

Image from Unsplash

화면 상태에 따라서 View가 그리는 작업, Render

MVVM 패턴과 view와 view model을 바인딩 하는 부분을 rxswift를 사용하면서 편리함을 많이 느꼈습니다. 네트워크 호출해서 받은 데이터를 화면에 뿌릴 때, 혹은 화면에서 user interaction을 받았을 때 등의 처리를 간결하게 처리할 수 있는 것을 배웠습니다. 구독하는 개념이 다소 생소했고 아주 가볍게만 써보지만, 많이들 사용한...

네비게이션 바에서 큰 타이틀 사용하기

아이폰 기본 앱들 중에 설정 앱이나 노트 앱, 미리 알림 앱 등에서는 화면의 타이틀이 크게 나타나는 화면을 볼 수 있다. iOS 11부터 소개가 되었는데, 처음 나타는 화면에서는 타이틀을 크게 보여주고 스크롤을 하면 가운데 중앙 정렬 작게 나타나는 네비게이션 바 디자인이다. 기본적으로 비활성화되어 있는데 아래 코드를 작성하면 큰 타이틀을 표시할 수 ...

Raycast + Confetti로 Xcode 빌드 완료 효과 넣기

싱글 모니터 사용하면서 하나의 업무에만 집중하는 환경을 보내고 있다. 하지만 프로젝트 빌드 시간이 오래 걸리면 다른 업무를 확인하는 경우가 있는데, 이때 너무 집중을 하다 보면 빌드 완료되었다는 알림을 놓치는 경우가 있다. 한참 업무를 보거나 딴짓(?)을 하다가 다시 Xcode 프로그램으로 돌아가면 빌드가 다 완료되어 있는 상태가 있어서 보다 빨리 확...