티스토리 뷰

반응형

iOS 네이티브 앱 개발은 예전에 Objective-C가 유행하던 시절 개발해 본 것이 전부였습니다. Swift와 SwiftUI는 개발 경험이 전무한 상태입니다. Xcode와 ChatGPT와 연동된다는 정보를 접하게 되어 바이브 코딩으로 앱 개발을 시도해보게 되었습니다.

 

앱 주제는 평소에 생각했던 심플한 Todo List 앱 입니다.

 

Xcode(16버전)와 ChatGPT 연동에 대한 내용은 아래 포스트에 정리되어 있습니다.

2025.08.30 - [AI Lab/LLM 활용] - [AI 개발도구] Xcode에 ChatGPT 연동하여 바이브 코딩하기

 


 

1. 앱 기획

제가 구상한 Todo List 앱은 하루치 할 일에만 집중할 수 있도록 설계된 간단하지만 실용적인 앱입니다.

복잡한 기능은 배제하고, 오늘 할 일에만 집중할 수 있도록 기능을 구성했습니다.

 

기능 요건

  • 오늘만 표시되는 리스트: 등록한 할 일은 오늘 날짜 기준으로만 메인화면에 표시
  • 완료 항목 숨기기: 완료 항목은 숨기고 오늘 못한 할 일은 다음 날로 이월
  • 할 일 추가 & 수정: 하단 입력창에서 할 일 추가
  • 등록 이력 관리: 과거에 등록한 할 일을 기간별로 모아서 확인
  • 통계 보기: 일·주·월·년 단위 차트
  • 라이트/다크 모드 지원
  • iCloud 동기화 기능

 

2. 바이브 코딩 과정

대부분 개발 과정을 ChatGPT와 대화에 의존하여 SwiftUI로 빠르게 구현했습니다.

  • 모델 정의: TodoItem 구조체로 기본 데이터 모델 구현
  • UI 구성: ContentView에 리스트와 입력창 배치
  • More 메뉴: 이력 보기, 통계 보기, 설정 화면 연결
  • 설정 화면: 라이트/다크 모드 전환, iCloud 동기화 여부, 동기화 정책 선택 기능 추가
  • 아이콘 제작: ChatGPT로 PNG 아이콘 생성 후 Xcode Assets.xcassets에 적용

초기에는 기능 요건을 정해두고 개발을 진행했으며, 오류나 개선이 필요할 때마다 ChatGPT에 도움을 요청했습니다. 그러면 곧바로 원인과 해결책을 제시해 주어, SwiftUI 경험이 전무한 상황에서도 마치 페어 프로그래밍처럼 개발 속도를 유지할 수 있었습니다. 개발에는 총 4시간 정도 소요되었습니다.

바이브 코딩 과정

ChatGPT 코드 → Xcode 반영하기

1. 적용 버튼 누르기: 코드 블록 상단의 “적용(Apply to Xcode)” 버튼을 눌러 바로 반영

ChatGPT 적용 버튼 (우측 상단)

 

2. Auto Apply 옵션 켜기: 설정 또는 코드 생성 중 Auto-apply Code를 활성화하면, 생성된 코드가 자동으로 Xcode에 반영

ChatGPT Auto-apply code 활성화 기능

 

3. 수동 복사·붙여넣기: ChatGPT에서 생성된 코드를 직접 복사해서, Xcode의 해당 파일에 붙여넣기

간단 수정은 수동 복사도 충분하고, 반복 작업은 “적용 버튼”이나 “Auto Apply”가 훨씬 편리합니다.

 

3. 제약사항

  • 코드 라인이 길거나 복잡한 함수 함수·클래스 오류 처리
    코드 라인이 길거나 함수·클래스가 복잡해지면 컴파일 오류가 발생하며, 이를 쉽게 해결하지 못합니다.
    → 초반부터 함수를 잘게 나누고 뷰를 분리하는 방식으로 접근했으면 더 수월했을 것 같습니다.
  • 반복되는 수정 패턴
    동일 오류가 여러 번 나오는 부분은 ChatGPT가 몇 가지 수정 패턴(뷰 분리, 제네릭 단순화 등)을 반복적으로 제시하나, 문제를 해결하지 못합니다.
    → 결국 직접 코드를 단순화하거나 구조를 재설계해야 하는 경우가 종종 있었습니다.

 

4. 결과물

필수 기능 위주로 개발 완료된 Todo List 앱의 결과물은 아래 이미지와 같습니다.

오늘만 To-Do 앱

 


 

마무리

이번 실험을 통해 Swift와 SwiftUI를 전혀 몰라도 ChatGPT와 함께 아이디어를 빠르게 구체화할 수 있다는 것을 확인했습니다. 오류가 발생할 때마다 즉시 원인과 해결책을 제시받으며 페어 프로그래밍처럼 개발을 이어갈 수 있었고, 단순한 프로토타입을 넘어 실제로 사용할 만한 앱을 구현할 수 있었습니다. 개발하면서 겪은 문제들에 대한 내용을 프롬프트로 잘 정리하면 다음 번 개발 시에는 개발 시간도 단축하고 앱 퀄리티로 높일 수 있지 않을까 생각됩니다. 곧 출시될 Xcode 26에서는 AI 연동 기능을 내장한다고 하니 더 편리하게 바이브 코딩을 할 수 있을 것으로 예상됩니다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함