신규 프로젝트에 Swiftlint 적용하기
새로운 프로젝트 시작할 때 개발하기 전에 설정하는 것들이 있다. 최소 운영체제 버전을 설정하거나 지원되는 기기 등 여러 가지가 있다. 그중 하나는 스위프트 스타일이나 코드 포맷을 맞추기 위한 도구인 SwiftLint를 추가하는 경우가 있다. 시간이 지나 다시 신규 프로젝트를 만들 때 SwiftLint 추가하는 방법이 까먹을 때가 있다. 그래서 설정하는...
새로운 프로젝트 시작할 때 개발하기 전에 설정하는 것들이 있다. 최소 운영체제 버전을 설정하거나 지원되는 기기 등 여러 가지가 있다. 그중 하나는 스위프트 스타일이나 코드 포맷을 맞추기 위한 도구인 SwiftLint를 추가하는 경우가 있다. 시간이 지나 다시 신규 프로젝트를 만들 때 SwiftLint 추가하는 방법이 까먹을 때가 있다. 그래서 설정하는...
사이드 프로젝트 진행하면서 Vision Framework을 다뤄봤는데, 자연스럽게 카메라 기능에 대한 기술도 접하게 되었다. 단순하게 시스템 카메라 UI를 사용할 수 있고 직접 카메라 UI를 구현할 수 있었는데, 사이드 프로젝트 특성에 따라 자체 커스텀 카메라 UI를 구현하게 되었다. 이 블로그 포스트는 AVFoundation 사용해서 자체 커스텀 ...
Swift 6.0부터 count(where:) 메서드가 새로 나왔는데, 스위프트 6.0을 사용하지 않는다면 아래 확장해서 사용하면 된다. 스위프트에서 배열이나 컬렉션 안에서 특정 항목의 개수를 구하고 싶으면 filter()를 이용해서 구할 수 있다. 예를 들어, 0과 1을 구성하는 배열에서 1의 개수를 구하고 싶다면 아래와 같이 작성할 수 있다....
MVVM 패턴과 view와 view model을 바인딩 하는 부분을 rxswift를 사용하면서 편리함을 많이 느꼈습니다. 네트워크 호출해서 받은 데이터를 화면에 뿌릴 때, 혹은 화면에서 user interaction을 받았을 때 등의 처리를 간결하게 처리할 수 있는 것을 배웠습니다. 구독하는 개념이 다소 생소했고 아주 가볍게만 써보지만, 많이들 사용한...
Git에서 브랜치 변경할 때는 주로 git checkout을 사용한다. 최근에 git switch 명령어를 알게 되었는데, git checkout 명령어랑 뭐가 다른지 정리해 봤다. git switch 명령어가 나오게 된 이유 Git 2.23에서 checkout 대신할 switch, restore 명령어가 나왔는데, checkout 명령어가 너무 많...
스위프트에서 wkwebview로 url 로드할 때, 아래와 같이 json 형태의 쿼리 파라미터를 담아서 호출해야 하는 경우가 있을 수 있다. http://<host>?params=<JSON object> 이런 경우에는 보내고자 하는 JSON 객체를 인코딩해서 담아서 로드하면 된다. let jsonString = """ { ...
아이폰 기본 앱들 중에 설정 앱이나 노트 앱, 미리 알림 앱 등에서는 화면의 타이틀이 크게 나타나는 화면을 볼 수 있다. iOS 11부터 소개가 되었는데, 처음 나타는 화면에서는 타이틀을 크게 보여주고 스크롤을 하면 가운데 중앙 정렬 작게 나타나는 네비게이션 바 디자인이다. 기본적으로 비활성화되어 있는데 아래 코드를 작성하면 큰 타이틀을 표시할 수 ...
싱글 모니터 사용하면서 하나의 업무에만 집중하는 환경을 보내고 있다. 하지만 프로젝트 빌드 시간이 오래 걸리면 다른 업무를 확인하는 경우가 있는데, 이때 너무 집중을 하다 보면 빌드 완료되었다는 알림을 놓치는 경우가 있다. 한참 업무를 보거나 딴짓(?)을 하다가 다시 Xcode 프로그램으로 돌아가면 빌드가 다 완료되어 있는 상태가 있어서 보다 빨리 확...
Git으로 관리하는 파일을 어느 순간 .gitignore에 추가하는 경우가 있다. 이때 이 파일을 수정해도 git status에 나타나는 경우가 있는데, 이럴 때 추적을 더 이상 하지 않도록 아래 명령어를 사용하면 된다. git rm -r --cached . git add . git commit -am "Remove ignored files" 위...
오랜만에 사용하는 jekyll 테마 업데이트하면서 튜토리얼 글을 보니깐 댓글을 쓸 수 있는 것을 보았다. 보니깐 Giscus comments를 지원한 것이었다. 원래는 댓글 기능에 대해서 생각하지 않았는데, 신기하고 jekyll 테마가 지원하는 것을 하나씩 추가해 보는 게 재밌을 것 같아서 적용해 보았다. 처음으로 사용한 기능이어서 어떻게 적용했는지 ...