본문 바로가기

Windows와 Linux 개발자를 위해

Mac 없이도 iOS 앱 빌드하기

Capgo Build는 클라우드 Mac 머신에서 Capacitor iOS 앱을 컴파일하고 서명합니다. Windows, Linux 또는 CI에서 CLI 명령어 하나만 실행하면, 서명된 빌드가 TestFlight용으로 App Store Connect에 업로드됩니다.

2–3분
일반적인 네이티브 빌드
iOS + Android
같은 CLI에서
TestFlight
App Store Connect로 직접 업로드
Capgo 빌드
npx @capgo/cli@latest build init --platform ios
npx @capgo/cli@latest build request --platform ios
# signed build runs on an ephemeral Mac runner
# logs stream back to your terminal

클라우드 Mac 머신

iOS build는 전용 Mac mini M4 머신에서 실행됩니다. 지금 쓰는 컴퓨터에서 바로 시작할 수 있습니다.

서명 및 업로드 완료

빌드는 인증서로 서명되어 App Store Connect에 업로드되고, TestFlight에서 사용할 준비가 됩니다.

문제점

Xcode는 macOS에서만 실행됩니다

Mac이 없으면 iOS 빌드도 불가능합니다

Apple의 빌드 도구는 macOS가 필수입니다. Windows나 Linux 환경의 개발자는 로컬 머신에서 iOS 빌드를 컴파일하거나 서명할 수 없습니다.

서명이 노트북 한 대에 묶여 있음

인증서와 프로파일이 특정 개인의 Mac에만 있는 경우가 많습니다. 해당 담당자가 부재중이거나 프로파일이 만료되면 릴리스가 지연됩니다.

셀프 호스팅 macOS CI는 별도의 프로젝트입니다

대여한 macOS 러너에도 Xcode 업데이트, Fastlane lane, 서명 시크릿, Apple이 뭔가 바꿀 때의 디버깅이 여전히 필요합니다.

숨은 작업

Mac 외에 릴리스 빌드에 필요한 것들

Mac을 사도 하드웨어 문제만 해결될 뿐입니다. Apple 계정 설정, 서명 파일, 그리고 누군가 계속 관리해야 하는 빌드 툴링은 여전히 필요합니다.

1

Apple 계정 설정

관리자 권한이 있는 Apple Developer 계정, bundle ID, App Store Connect 앱 레코드, 그리고 업로드를 위한 API 키가 필요합니다.

2

서명 파일과 프로파일

.p12로 내보낸 배포 인증서, bundle ID별 provisioning profile, 그리고 만료 시 갱신 작업이 필요합니다.

3

빌드 툴링

적절한 Xcode 버전, CocoaPods 또는 Swift Package Manager, Fastlane, 그리고 CI용 secret을 보관할 공간이 필요합니다.

작동 방식

Windows 및 Linux 개발자가 Capgo로 iOS 앱을 배포하는 방법

Capacitor 앱, Capgo 계정, 그리고 Apple Developer 계정이 필요합니다. 아래 모든 명령어는 Capgo CLI 문서에서 가져온 것입니다.

  1. iOS 서명은 한 번만 설정하기

    Onboarding이 Capacitor 프로젝트를 읽어 배포 인증서와 provisioning profile을 생성하고 사용자 머신에 저장합니다.

    npx @capgo/cli@latest build init --platform ios
    iOS 빌드 가이드
  2. 이미 있는 서명 파일 저장하기

    팀에 이미 인증서와 프로파일이 있다면 App Store Connect API 키와 함께 저장하세요. 로컬 credentials 파일에 그대로 보관됩니다.

    npx @capgo/cli@latest build credentials save --platform ios \
      --apple-team-id YOUR_TEAM_ID \
      --apple-key ./AuthKey_XXXXX.p8 \
      --apple-key-id YOUR_KEY_ID \
      --apple-issuer-id YOUR_ISSUER_ID \
      --certificate ./certificate.p12 \
      --ios-provisioning-profile ./profile.mobileprovision
    자격 증명 관리
  3. 빌드 요청하기

    웹 빌드를 iOS 프로젝트에 동기화한 다음 빌드를 요청하세요. 로그는 터미널로 스트리밍되고, 서명된 빌드는 TestFlight용으로 App Store Connect에 업로드됩니다.

    npx cap sync ios
    npx @capgo/cli@latest build request com.example.app --platform ios
    첫 빌드 가이드
  4. CI에서 같은 명령 실행하기

    build credentials manage로 저장된 credentials를 CI secrets로 내보내고, CAPGO_TOKEN을 설정한 다음 GitHub Actions, GitLab CI 또는 어떤 runner에서든 build request를 실행하세요.

    npx @capgo/cli@latest build credentials manage
    # in your CI job
    npx @capgo/cli@latest build request com.example.app --platform ios
    GitHub Actions 설정

솔루션

Capgo Build가 대신 처리해 주는 것

네이티브 code가 변경되면 네이티브 빌드가 클라우드에서 실행됩니다. 웹 변경 사항은 스토어 출시 사이에도 라이브 업데이트로 계속 배포됩니다.

빌드할 때만 클라우드 Mac 사용

iOS 빌드는 Xcode가 설치된 전용 Mac mini M4에서 실행됩니다. Windows나 Linux 노트북, 또는 CI runner에서 터미널로 요청만 보내면 됩니다.

Capgo Build 개요

가이드형 iOS 서명

build init 명령이 배포용 인증서와 provisioning profile을 대신 만들어 줍니다. Windows나 Linux에서는 브라우저에서 직접 만든 App Store Connect API 키를 사용합니다.

iOS 빌드 가이드

로컬과 CI에서 동일한 명령 사용

자격 증명을 한 번 저장한 뒤 터미널, GitHub Actions, GitLab CI 또는 다른 어떤 pipeline에서든 build 요청을 실행하세요.

build 명령어 레퍼런스

Native Build와 Live Updates의 결합

플러그인, 권한, 아이콘 또는 Capacitor 버전이 바뀔 때는 Capgo Build를 사용하세요. 사용자가 스토어 빌드를 설치한 뒤에는 JavaScript, CSS, 에셋 변경 사항을 Live Updates로 배포하세요.

Live update 아니면 Native Build?

신뢰 모델

code와 키를 넘겨주지 않고도 클라우드 하드웨어 사용

자격 증명은 사용자 머신이나 CI secrets에 남아 있습니다. Capgo는 빌드가 실행되는 동안에만 이를 보관합니다.

네이티브 프로젝트만 업로드됩니다

CLI는 네이티브 플랫폼 폴더와 네이티브 의존성을 업로드합니다. 전체 레포지토리는 사용자 머신에 그대로 남습니다.

로그는 터미널로 스트리밍됩니다

빌드 로그는 빌드가 실행되는 동안 실시간으로 스트리밍되며, Capgo 서버에 저장되지 않습니다.

자격 증명은 빌드 중에만 존재합니다

인증서와 프로필은 빌드 중 메모리에서 사용되고 빌드가 끝나면 삭제됩니다. 각 빌드는 이후 파기되는 격리된 환경에서 실행됩니다.

Capacitor로 빌드된 앱

운영용 앱이 로컬 Mac 한 대에 의존해서는 안 됩니다

팀이 주로 웹, 지원, 운영으로 구성되어 있어도 학교, 교통, 지원 앱에는 서명된 모바일 릴리스가 필요합니다. 호스팅된 빌드 워크플로우를 사용하면 서명 단계를 반복 가능하게 유지하면서 단일 머신 병목을 제거할 수 있습니다.

IRIS ParentMail 앱 아이콘 교육

IRIS ParentMail

네이티브 개발자가 없는 팀도 안정적인 서명 릴리스가 필요한 학교 커뮤니케이션 앱입니다.

Google Play 설치 수
120만
스토어 평점
2.8
KAI Access: 기차 예약 앱 아이콘 여행 및 지역 정보

KAI Access: 기차 예약 앱

릴리스 핸드오프가 특정 개발자 PC에 의존해서는 안 되는 교통 예약 앱입니다.

Google Play 설치 수
1,350만
스토어 평점
3.6
Técnico Virtual – Suporte Técn 앱 아이콘 도구

가상 기술 지원 – 기술 지원

운영 팀이 반복 가능한 모바일 빌드 기록을 필요로 할 때 쓰는 보조 유틸리티입니다.

Google Play 설치 수
1,030만
스토어 평점
4.3

고객 사례

Capgo로 배포하는 팀들의 이야기

5.0/5 개발 팀 평점 9,400+ 팀 리뷰 보기

sikafanka

디자인, radius 5

“Capgo Build 덕분에 Capacitor 앱 출시 프로세스가 훨씬 간단해졌습니다. 하나의 명확한 워크플로우에서 iOS와 Android 앱을 빌드하고 출시할 수 있습니다.”

Mikołaj Wilczek의 사진

Mikołaj Wilczek

Tellent 수석 모바일 플랫폼 엔지니어

“처음에는 플러그인을 통해 Capgo를 알게 됐고, 그게 저희 팀의 릴리스 프로세스를 훨씬 더 효율적으로 만드는 좋은 계기가 됐습니다.”

자주 묻는 질문

Mac 없이 iOS 빌드에 관한 질문

첫 클라우드 iOS 빌드를 앞둔 Windows 및 Linux 개발자들이 자주 묻는 질문입니다.

어느 시점이든 Mac이 필요한가요?

컴파일, 서명, 업로드에는 필요하지 않습니다. 빌드는 Capgo의 Mac mini M4 머신에서 실행됩니다. 단, Apple Developer 계정은 여전히 필요합니다. Windows나 Linux 환경에서는 브라우저에서 App Store Connect API 키를 생성하면 CLI가 인증서와 프로파일을 처리합니다.

iOS 빌드 가이드

iOS 빌드는 얼마나 걸리나요?

일반적인 Native Build는 2~3분 정도 소요됩니다. 빌드 중 로그가 터미널로 스트리밍되어 에러를 즉시 확인할 수 있습니다.

첫 빌드 가이드

빌드 결과물을 바로 TestFlight로 보낼 수 있나요?

네. 인증 정보에 App Store Connect API 키가 있으면, 서명된 빌드가 App Store Connect로 업로드됩니다. 이후 TestFlight에서 테스트하거나 App Store 심사를 위해 제출할 수 있습니다. IPA 다운로드 링크도 필요하다면 --output-upload 옵션을 추가하세요.

빌드 설정

제 인증서는 어디에 저장되나요?

기본적으로 로컬 머신의 ~/.capgo-credentials/credentials.json 또는 CI secrets에 저장됩니다. 인증서는 빌드 중에만 Capgo로 전송되며, 빌드가 완료되면 즉시 삭제됩니다.

자격 증명 관리

변경할 때마다 새 빌드가 필요한가요?

아니요. 플러그인, 권한, 아이콘, Capacitor 버전 변경 시에는 새로운 Native Build가 필요합니다. 하지만 JavaScript, HTML, CSS 및 에셋 변경 사항은 이미 스토어 빌드를 설치한 사용자에게 Live Update로 즉시 배포할 수 있습니다.

Live update 아니면 Native Build?

Mac 없이 iOS 앱 배포하기

14일 무료 체험 기간 동안 첫 번째 signed iOS build를 실행해 보세요. 이후 필요에 따라 Android, CI, Live Update를 추가할 수 있습니다. 14일 환불 보장 정책과 함께 첫 번째 signed iOS build를 시작하고, 필요할 때 Android, CI, Live Update를 추가하세요.