본문으로 건너뛰기
IFAI

AI 도구

코덱스, iOS 앱 빌드 플러그인 추가…시뮬레이터 화면 브라우저 스트리밍 지원

게시 확산 지수 41

코덱스에 'Build iOS Apps' 플러그인이 추가됐다. serve-sim을 활용해 iOS 시뮬레이터 화면을 코덱스 인앱 브라우저로 실시간 스트리밍하며, 핫 리로드를 통한 SwiftUI 프리뷰 렌더링을 지원한다. 개발자는 엑스코드 캔버스 없이도 브라우저 안에서 앱을 직접 조작하고 디버깅할 수 있다.

iOS 앱을 개발해 본 사람이라면 누구나 겪어봤을 답답함이 있습니다. SwiftUI 뷰를 조금 고치고 확인하려 해도, 엑스코드의 캔버스는 걸핏하면 멈추거나 충돌하기 일쑤입니다.

코덱스가 이 골치 아픈 문제를 우회하는 영리한 방식을 내놓았습니다. 새롭게 추가된 'Build iOS Apps' 플러그인은 로컬 iOS 시뮬레이터 화면을 코덱스 인앱 브라우저로 실시간 스트리밍해 주는 기능을 갖췄습니다.

브라우저로 들어온 iOS 시뮬레이터

구현 방식은 매우 실용적입니다. 애플의 개발 환경 전체를 복잡하게 뜯어고치는 대신, 필요한 화면만을 깔끔하게 웹으로 끌어왔습니다.

앱 화면을 확인해야 할 때, 먼저 시스템 명령어로 사용 가능한 시뮬레이터 식별자를 가져온 뒤 백그라운드 터미널에서 serve-sim 도구를 구동합니다.

이 도구는 시뮬레이터 화면을 웹 스트림으로 변환해 로컬 주소를 생성합니다. 코덱스 내부 브라우저가 해당 주소를 열면, 개발자는 엑스코드를 쳐다보지 않고도 브라우저 안에서 앱 화면을 보며 직접 조작할 수 있습니다.

작업이 끝난 뒤 백그라운드 프로세스가 남아 포트를 차지하지 않도록 종료 트랩을 촘촘히 걸어두었으며, 브라우저에 빈 페이지만 뜨는 상황을 방지하기 위해 실제 화면 프레임이 렌더링되는지 검증하는 절차도 갖췄습니다.

프로젝트를 건드리지 않는 핫 리로드

단순히 화면을 띄우는 데 그치지 않고, 엑스코드 캔버스 없이도 SwiftUI 프리뷰를 실시간 갱신할 수 있는 핫 리로드 워크플로를 제공합니다.

Swift 패키지 기반의 컴포넌트를 대상으로 전용 실행 스크립트를 돌리면, 사용자의 소스코드 폴더 바깥에 일회용 호스트 프로젝트를 임시로 만들어 시뮬레이터에 설치합니다.

파일 감시 모드가 기본으로 켜져 있어 소스 코드를 수정하면 앱 전체를 다시 빌드하거나 재실행하지 않고, 변경된 동적 라이브러리만 즉시 컴파일해 실행 중인 프로세스에 밀어 넣습니다.

기존 PreviewProvider는 물론 최신 #Preview 문법까지 지원하며, 정규표현식을 사용해 원하는 프리뷰 화면만 골라 띄울 수도 있습니다.

가장 돋보이는 부분은 안전성입니다. 프리뷰를 띄우겠다는 목적으로 사용자의 기존 프로젝트 파일이나 워크스페이스, 빌드 설정을 절대 임의로 수정하지 못하도록 제한해 두었습니다.

왜 중요한가

우리는 이번 업데이트가 AI를 활용한 네이티브 모바일 개발의 결정적인 병목을 뚫어주었다고 봅니다.

웹 개발에서는 AI가 로컬 브라우저 화면을 캡처하며 스스로 레이아웃을 검증하는 흐름이 흔했지만, 폐쇄적인 iOS 생태계에서는 AI가 코드를 고친 뒤 시각적 피드백을 얻기가 대단히 까다로웠습니다.

시뮬레이터 화면이 코덱스 내부 브라우저로 들어오면서, 코덱스가 UI 코드를 수정하고 핫 리로드된 화면을 캡처해 검증하는 완전한 시각적 루프가 가능해졌습니다.

접근 방식도 매우 영리합니다. 복잡하고 깨지기 쉬운 엑스코드 프로젝트 구조와 씨름하는 대신, Swift 패키지 단위로 격리하고 외부 일회용 호스트를 활용해 저장소를 오염시키지 않도록 설계했습니다.

물론 로컬 맥 환경과 설치된 시뮬레이터가 여전히 필수적이며, 모듈화되지 않은 거대한 레거시 프로젝트에서는 당장 효과를 보기 어렵다는 한계는 분명합니다.

그럼에도 무겁고 불안정한 엑스코드 캔버스를 벗어나 브라우저 안에서 즉각적인 UI 피드백을 얻을 수 있다는 점만으로도, 모듈형 Swift 코드를 작성하는 개발자에게는 즉시 도입해 볼 만한 도구입니다.

출처 (1)

  1. [1]

매일 AI 콘텐츠 픽