이번에 이라는 개인앱 프로젝트를 진행하면서 네이버맵과 네이버 Cloud API를 사용하였었다. 구현하려는 기능에 대한 정보를 많이 찾을 수 없어서 이번에 구현한 기술들과 구현을 하며 알게 된 정보를 공유해보려고 한다. 1. CocoaPod 설치하기 아래는 CocoaPod을 처음 사용하는 사람들은 위한 설치 순서이다. 무조건 순서대로 설치를 해줘야하며, 명령어를 입력하고 설치되는 데까지 시간이 좀 걸릴 수 있으니 기다려야 한다. 만일 CocoaPod이 설치되어 있지 않다면 터미널을 켜서 아래 명령어를 입력해 준다.sudo gem install cocoapods 만일 HomeBrew가 설치되어 있지 않다면 아래 명령어를 입력해서 설치해 준다./bin/bash -c "$(curl -fsSL https:..
UIVIewPropertyAnimator을 활용해서 collectionViewCell의 색을 바꾸려고 했다. 그런데 앱이 백그라운드 상태로 갔다가 다시 포그라운드 상태로 돌아왔을 때, 애니메이션이 다 끝난 상태로 되어버리는 버그가 발생을 했다. 이 글에선 버그를 해결한 방법에 대해 설명해보려고 한다. 버그 발생 아래 영상처럼 백그라운드 상태로 갔다가 다시 포그라운드 상태로 돌아오면 애니메이션이 멈춘 상태가 아니라 결과가 나타난 채로 보여진다. 정확히 왜 이런 버그가 발생하는지 이유는 아직 찾지 못했다. 해결 방법 접근 혹시라도 얼마정도 애니메이션을 진행했는지 저장이 안돼서 그런 건지 몰라서 fractionComplete를 애니메이션의 진행도를 기록하는 변수로 받아서 저장을 했다. 그러나 저장을 해도 계속..
Realm은 iOS 앱을 만들 때, 데이터베이스로 CoreData에 비해 쉽게 사용할 수 있는 라이브러리이다. 안드로이드를 비롯해 여러 플랫폼에서 지원하기에 호환성이 좋아서 많은 서비스에서 Realm을 사용한다. 그런데 realm에 복잡한 데이터가 앱을 설치한 처음부터 있었으면 하는 개발자도 분명 있을 것이다. 하지만 이에 관련된 자료가 없는 건지, 내가 못 찾는 건지 찾을 수가 없었다. 그래서 방법을 고민하다가 내가 찾은 방법을 공유해보려고 한다. (+ 에러 상황과 해결 방안까지) 0. Realm 데이터 준비하기 단순한 데이터를 Initial Data로 추가할 때에는 사실 Realm 데이터를 준비할 필요 없이, 코드로 저장을 하면 된다. 그러나 앱에서 저장하는 기능이 많으면 많을수록, 다양한 기능을 사..
개발을 하다보면 이미 누군가가 불편한 부분을 쉽게 사용하라고 코드를 미리 만들어 둔 것들이 있다. 덕분에 개발자들은 다른 부분에 더 신경을 쓸 수 있고, 리소스도 절약할 수 있다. 이번엔 오픈 소스가 정확히 어떤 것들이 있는지 iOS 생태계에 대표적인 오픈 소스는 무엇인지 공부해보자. 1. OpenSource 오픈 소스란 ‘오픈소스 소프트웨어(Open Source Software, OSS)’의 줄임말로 누구나 자유롭게 접근하여 활용, 수정, 배포할 수 있는 코드를 뜻한다. 개발자들이 모인 커뮤니티(GitHub...)에서 자유롭게 개발하고 보완하며 누구나 사용할 수 있도록 만든 소프트웨어이기 때문에, 개인이나 기업이 만든 것보다 저렴하고 유연하며 지속성이 있다. 오픈 소스 특성상 초기부터 높은 완성도를 갖..
사실 개발을 처음 했을 때 git이 굉장히 어려웠다. 따로 가르쳐주는 사람도 없었을뿐더러 터미널에서 하려니 문자만 딱 남겨진 게 굉장히 이해하기도 사용하기도 어려웠었다. 하지만 Git을 사용하는 방법에는 여러 가지 방법이 있다는 것을 알게 되었고, 그중 간단하게 Xcode에서 사용할 수 있는 방법을 남겨보려고 한다. 1. VCS VCS(version control system) -> 파일의 변화를 추적하고 관리하는 시스템. 즉, 버전 관리를 할 수 있는 것이 바로 VCS이다. 그럼 왜 버전 관리를 해야할까? 프로젝트 진행 중 과거의 특정 시점으로 돌아갈 수 있기 때문에 여러 사람이 같은 프로젝트를 맡게 될 경우, 각자 수정하고 작업한 내용을 간편하게 동기화하기 위해서 코드의 변경 사항, 코드 작성자에 대..