본문 바로가기

분류 전체보기34

Xcode에서 GitHub원격저장소 만들기 Xcode를 실행해 보면, 아래 그림과 같이 로컬에서 새로운 프로젝트를 만들 것인지 (Create New Project) 원격 저장소에 있는 프로젝트를 복재해와서 진행 할 것인지 (Clone Git Repository) 의 갈림길이 처음 놓이게 된다.이번 포스팅에서는 Xcode로 새로운 프로젝트를 만들어, 이전 포스팅에서 설정한 GitHub 계정정보를 이용하여 origin을 설정 하고, 실제 GitHub에 원격저장소(Remote Repository)를 생성 한다. GitHub계정 Xcode설정 방법앞으로 프로젝트의 Git 및 버전 제어를 호스팅하기 위해 Github를 사용할 것이다. Github는 간단하게 말하면, 소스코드를 저장하고 버전을 관리하는 웹 기반 플랫폼이다. '코드의 타임머신'이라고 부joh.. 2025. 6. 27.
GitHub계정 Xcode설정 방법 앞으로 프로젝트의 Git 및 버전 제어를 호스팅하기 위해 Github를 사용할 것이다. Github는 간단하게 말하면, 소스코드를 저장하고 버전을 관리하는 웹 기반 플랫폼이다. '코드의 타임머신'이라고 부르기도 한다. 언제 어떤 코드가 어떻게 바뀌었는지, 누가 바꿨는지, 왜 바꿨는지를 기록하고, 필요할 땐 언제든 돌아갈 수 있다. 또한 혼자 쓰는 것에 그치지 않고, 협업할 때도 강력하다. PR(Pull Request), Issue, Review, Action 등 다양한 협업 도구들이 준비되어 있기 때문이다. 혹 Git과 Github를 같다고 생각 할 수 있는데 이 둘은 완전히 다르면서도 서로를 보완하는 관계다. 쉽게 정리하면 아래 표와 같다.구분GitGitHub정체로컬에서 사용하는 버전 관리 도구인터넷 .. 2025. 6. 27.
변수와 상수, 언제 무엇을 쓸까? Swift를 처음 배울 때 가장 먼저 만나는 문법 중 하나는 바로 변수(var) 와 상수(let) 이다. 스위프트의 공식 문서를 확인해 보아도 좌측 최상단 메뉴의 A Swift Tour 와 The Basics 메뉴에서는 이 변수(var)와 상수(let)로 시작 한다.✅ var 키워드의 의미와 어원var는 variable의 줄임말이다.영어로 variable은 "변할 수 있는 것, 변수" 라는 뜻이다. 프로그래밍 전통에서 var는 C계열 언어나 JavaScript 등에서도 변할 수 있는 값을 선언할 때 흔히 쓰는 키워드이다. Swift도 이 익숙한 전통을 이어받아, 값이 바뀔 수 있는 저장소를 var로 선언하도록 한 것이다.✅ let 키워드의 의미와 어원let은 "let x equal 5"처럼 수학적인 표현.. 2025. 6. 27.
스위프트를 시작하기 전 알아야 할 것들 스위프트(Swift)를 처음 시작했던 시점을 떠올려 보면, 그냥 막연하게 "나도 앱 한번 만들어볼까?" 라는 마음이 먼저였다. iOS앱을 만들려면 Swift를 배워야 한다는 말은 여러 곳에서 들었고, Swift가 초보자에게 좋다는 이야기도 심심치 않게 들렸다. 그런데 이상했다. 막상 Xcode를 열어 보니 머리가 하얘졌다. 파일은 뭐가 이렇게 많고, 버튼 하나 띄우는데도 .state가 어쩌고, 옵셔널이니 뷰모델이니... 지나고보니 문법보다 중요한 것들이 있다. 그래서 이 글을 쓴다. 이건 Swift를 어떻게 쓰는지에 대한 글이 아니다. Swift를 왜 쓰는지, 시작하려면 어떤 마음가짐이 필요한지, 그걸 알려주는 글이다. Swift를 선택한 이유솔직히, Swift가 좋아서 시작한 건 아니다. (I Love.. 2025. 6. 27.
iOS 개발을 시작하려면 꼭 알아야 할 것들 나도 앱을 만들 수 있을까?나는 원래 앱 개발자가 아니었다. Swift도 몰랐고, Xcode는 실행해 보긴 했지만, 프로젝트를 완성해 본적이 없었다. 하지만 어느 날 문득, "내가 직접 쓰고 싶은 앱을 만들어볼 수는 없을까?" 라는 생각이 들었다. 마트에서 식재료를 사놓고는 소비기한(유통기한)이 지나서 버리는 일이 반복되면서 "언제까지 이렇게 살 거야?" 라는 반성이 들었고, 소비기한(유통기한) 관리앱을 만들기로 결심했다. 그게 지금 나의 첫 앱이 된 세이브푸드(SaveFood)의 시작이었다. 세이브푸드 iOS앱 드디어 출시지난 몇 달간의 치열한 개발 여정이 드디어 결실을 맺었다. 2025년 6월, 직접 기획하고 개발한 iOS앱 세이브푸드(SaveFood)가 애플의 심사를 통과하고 앱스토어에 정식 출시 .. 2025. 6. 27.
스위프트유아이(SwiftUI)란 무엇인가? 2019년, 애플은 WWDC 키노트에서 새로운 UI 프레임워크 하나를 세상에 공개한다. 그 이름은 SwiftUI. 지금도 WWDC 2019 하이라이트 웹페이지를 방문해 보면, "조쉬 섀퍼 (Josh Shaffer)가 SwiftUI로 개발자들이 모든 Apple 플랫폼에서 네이티브 앱을 쉽게 구축할 수 있는 방법을 소개하고 있다"고 안내한다. 당시 개발자들 사이에선 설레임과 걱정이 공존했다. SwiftUI는 UIKit을 대체할 수 있는 '선언형UI'를 지향했다. 즉, 더 이상 화면을 구성하기 위해 수많은 코드와 인터페이스 빌더(스토리보드)를 넘나들지 않아도 되는, 새로운 방식의 UI 선언 언어를 제시한 것이다. 이 선언형 UI의 흐름은 이미 웹에선 React, Flutter, Jetpack Compose 같.. 2025. 6. 27.
세이브푸드 iOS앱 드디어 출시 지난 몇 달간의 치열한 개발 여정이 드디어 결실을 맺었다. 2025년 6월, 직접 기획하고 개발한 iOS앱 세이브푸드(SaveFood)가 애플의 심사를 통과하고 앱스토어에 정식 출시 되었다. 이 글은 그 첫 시작을 기록하는 글이다. 기술적 시행착오, 아키텍처 설계, 사용자 경험 고민, 구독 인프라 구축까지, 그 어느 것 하나 쉽지 않았던 여정이였기에 더욱 특별하다. 그리고 이 글은 단순히 출시 보고에 그치지 않고, 앞으로의 운영, 마케팅, 그리고 지속적인 개선 방향까지 함께 담고자 한다.세이브푸드(SaveFood)는 어떤 앱인가?세이브푸드는 냉장고나 펜트리 속 식자재를 등록하고, 그 소비기한(유통기한)을 관리하며, 남은 식재료로 만들 수 있는 메뉴나 레시피를 추천해주는 앱이다. 혼자 사는 1인 가구, 아.. 2025. 6. 26.
하나의 보관함 여러명의 사용자 세이브푸드(SaveFood) 앱을 처음 기획할 때만 해도 데이터 구조는 단순할 것이라고 생각했다. 사용자 정보를 저장하고, 보관함을 만들고, 그 보관함 안에 식자재를 넣는 단순한 CRUD(Create: 생성, Read: 읽기, Update: 수정, Delete: 삭제) 형태. 이 정도면 파이어스토어(Firestore)로도 충분할 줄 알았다. 하지만 개발을 시작하고 몇 주가 지나면서 하나둘씩 생기는 아이디어 속에 요구사항과 기능을 추가 하다보니, 처음의 단순한 스키마는 곧 무너졌다.'내' 보관함이 아니라 '우리' 보관함모든 건 "공유"라는 한 단어에서 시작 되었다. 세이브푸드는 기본적으로 사용자 개인의 냉장고 보관함을 관리하는 앱이지만, 이 보관함을 다른 가족 구성원이나 룸메이트와 함께 공유하고 관리하고 .. 2025. 6. 26.
푸시 알림을 구현하며 겪은 설정 지옥 세이브푸드를 개발하면서 이 앱 기능 중 최고의 꽃은 푸시 알림(Push Notifications)이라고 생각했다. 사용자에게 보내지는 소중한 푸시 알림으로 냉장고 보관함에 다른 사용자를 초대하고, 유통기한이 얼마 남지 않았음을 알려야 하는 핵심 기능이라고 생각했기 때문이다. 푸시 알림을 구현하고 테스트해보려면 반드시 애플 개발자 프로그램(Apple Developer Program)에 가입되어야 한다. 개발자 프로그램 가입 후 웹과 엑스코드(Xcode)에서 간단한 설정만 하면 쉽게 구현할 수 있을 줄 알았다. 때문에 요구사항과 설계내역을 검토한 후 더 어려워 보이는 보관함의 사용자 초대부터 구현하며 인고의 시간을 보내고 있었다.인고의 시간이라고 표현한 이유는 무엇일까?바이브코딩으로 ChatGPT와 대화를 .. 2025. 6. 26.
회원가입에 진심인 사람입니다 나에게는 고질병이 하나 있다. 인터넷 아이디와 이메일을 주기적으로 변경 한다. 당시에 나를 조금 더 표현 할 수 있는 단어로, 또는 추구하는 목표로 키워드를 넣은 새로운 아이디를 사용하기 위해 가입 했던 모든 서비스를 탈퇴 했다가 재가입 하는 무서운 질병이다. 해외에서 만든 웹 또는 앱서비스들은 비교적 아이디변경과 이메일변경이 자유롭다. 그런데 유독 우리나라에서 탄생한 서비스들은 한번 만들면 변경을 하지 못하게 하거나, 탈퇴 후 1달, 3개월 등 저마다 정의되지 않은 주기로 회원가입을 다시 하지 못하게 한다. 기술 컨퍼런스에서 대용량 트래픽을 어떻게 처리 한다느니 요즘 유행은 이런 기술이라서 개발자들은 서둘러 사용하지 않으면 뒤쳐진다느니 썰을 푸는 사람의 소속회사가 가입 회원을 이메일 변경도 하지 못하는.. 2025. 6. 26.