이번에 이라는 개인앱 프로젝트를 진행하면서 네이버맵과 네이버 Cloud API를 사용하였었다. 구현하려는 기능에 대한 정보를 많이 찾을 수 없어서 이번에 구현한 기술들과 구현을 하며 알게 된 정보를 공유해보려고 한다. 1. CocoaPod 설치하기 아래는 CocoaPod을 처음 사용하는 사람들은 위한 설치 순서이다. 무조건 순서대로 설치를 해줘야하며, 명령어를 입력하고 설치되는 데까지 시간이 좀 걸릴 수 있으니 기다려야 한다. 만일 CocoaPod이 설치되어 있지 않다면 터미널을 켜서 아래 명령어를 입력해 준다.sudo gem install cocoapods 만일 HomeBrew가 설치되어 있지 않다면 아래 명령어를 입력해서 설치해 준다./bin/bash -c "$(curl -fsSL https:..
· 성취/개선/학습한 내용 🏆 오늘은 이진 탐색 알고리즘과 Heap 자료구조에 대해 학습을 하였다. 이진 탐색 같은 경우엔 배열의 중간에 있는 임의 값을 기준으로 타깃 값과 비교해서 중간에 있는 임의 값이 타깃 값보다 작으면 우측의 데이터 값들을 대상으로 탐색을 하고, 타깃 값보다 크다면 좌측을 대상으로 탐색하는 탐색 알고리즘이다. 단순히 배열의 index를 0번부터 탐색을 시작하는 것보다 훨씬 시간을 절약할 수 있다. 다만 중요한 점은 데이터가 '정렬'되어 있어야 한다는 조건이 붙는다. 이 조건만 충족한다면 내가 원하는 값을 빠르게 찾을 수 있으며, 구현코드도 간단하다.func binarySearch(_ arr: [T], _ target: T) -> Int? { var left = 0 var r..
· 성취/개선/학습한 내용 🏆 오늘은 Widget에 대해 학습을 하였다. 학습하면서 가장 충격적이었던 부분은 다른 '모듈'이라서 앱과 데이터가 공유되지 않는다는 점이었다. 따라서 이를 해결하기 위해 AppGroup을 통해 앱과 앱 Extension인 위젯을 한 그룹으로 묶어 데이터가 공유될 수 있게 설정을 해줘야 한다는 점이었다. 그 후 UserDefaults(suiteName: )을 통해 데이터를 공유하고, WidgetCenter의 reloadTimelines를 통해 위젯을 업데이트할 수 있다. 그 이유는 위젯이 하루 업데이트 될 수 있는 횟수가 60~70회 정도로 정해져 있는데 업데이트를 해주지 않으면 반영이 되지 않기 때문에 reloadTimelines를 통해 데이터를 반영해 주는 것이다.Widg..
프로젝트 소개앱 소개 & 기획 택시 합승 플랫폼, 택시팟! 기획 계기 수도권에서는 대중교통이 잘 되어 있어서 택시를 굳이 안 이용해도 되는 경우가 많다. 하지만 지방은 수도권의 상황과 다르다. 우선 버스 배차 시간이 길고, 지하철 역이 없는 곳이 많다. 작년 애플 디벨로퍼 아카데미 생활을 했는데, 아카데미가 위치한 포항은 대중교통이 불편했고, 택시를 자주 이용하였다. 그러다 보니 생각보다 교통비가 많이 부담되어 택시를 같이 탈 사람을 구해서 목적지까지 이동하는 경우가 왕왕 있었다. 그래서 택시를 같이 탈 사람을 구할 수 있는 플랫폼이 있다면 좋지 않을까라는 생각이 들어 기획을 하게 되었다. 개발 기간과 v1.0 버전 기능개발 기간2024.4.10 ~ 2024.5.5 (26일)Configuration최소..