본문 바로가기
튜토리얼

capgo에서 메이저 버전을 출시하는 방법

사용자 앱이 깨지지 않도록 앱의 메이저 버전을 언제, 어떻게 출시해야 하는지 알아보세요

capgo Capgo 블로그: 메이저 버전 출시 방법

메이저 버전을 출시할 때

버전 관리는 까다로울 수 있습니다. 보통 사용자에게 큰 변화가 생겼을 때 메이저 업데이트를 제공하고 싶어 하죠.

하지만 버전 관리는 그 용도가 아닙니다. 앱 스토어 버전과 Native 버전은 서로 다릅니다.

Native 버전은 다음의 breaking change를 관리하기 위해 만들어졌습니다. code

예를 들어 iOS에서 iOS 16은 store version Apple의 버전이지만, code 버전은 20A5283p (Apple은 SemVer를 쓰지 않는 것 같습니다)

이제 둘을 섞지 않고 각자의 용도에 맞게 쓰면 된다는 게 분명해졌습니다!

메이저 릴리스

Capacitor 앱에서는 breaking change가 발생하면 메이저 릴리스가 필요합니다. 예를 들어 새 iOS 타겟(15→16), Capacitor의 새 버전(3→4), 또는 사용 중인 플러그인(1.2→2.0)이 메이저 버전으로 업데이트된 경우입니다.

이 변경은 breaking change를 처리하도록 모든 툴링을 맞춰야 한다는 뜻입니다.

Capgo가 이 시스템을 따르는 이유도 바로 이것입니다. 따라서 메이저 버전을 릴리스하더라도, Capgo은 스토어에서 해당 버전을 설치하지 않은 사용자에게는 보내지 않습니다.
이 동작은 커스터마이즈할 수 있습니다. 자세한 내용은 여기

버전

비교할 버전은 Capgo에서 찾을 수 있습니다.

iOS

Capgo가 JavaScript 버전과 비교해 메이저 업그레이드를 찾는 데 사용됩니다

iOS에서는 프로젝트의 다음 위치에서 변수가 설정됩니다 ios/App/App/Info.plist 해당 키 아래에CFBundleShortVersionString 또는 ios/App/App.xcodeproj/project.pbxproj 해당 키 아래에 MARKETING_VERSION 만약 MARKETING_VERSION 사용자 환경에 설정되었습니다 Info.plist 다운로드됩니다.

version 키를 설정하면 이 동작을 재정의할 수 있습니다. capacitor.config.json 파일 문서 확인하기

Android

Capgo가 JavaScript 버전과 비교해 Major 업그레이드를 감지할 때 사용합니다

Android에서는 프로젝트의 다음 위치에 변수를 설정합니다 android/app/build.gradle 해당 키 아래에 defaultConfig.versionName

version 키를 설정하면 이 동작을 재정의할 수 있습니다. capacitor.config.json 파일 문서 확인하기

JavaScript

Capgo가 Native 버전과 비교해 Major 업그레이드를 감지할 때 사용합니다

JavaScript에서는 프로젝트의 다음 위치에 변수를 설정합니다 package.json 해당 키 아래에 version

예시

현재 Ionic 앱의 출시 버전은 1.2.3 Capacitor 3 버전입니다.

이제 capacitor 4 버전으로 업그레이드하려고 합니다.

이 경우 버전 번호를 다음과 같이 2.2.3변경해야 하며, 모든 패키지에 Capgo가 포함되어 이 큰 변화를 알립니다.

이 버전을 Capgo와 App Store에 출시하면,

Capgo의 모든 다음 live update는 2.2.4 기존 버전의 사용자에게는 1.2.3 전송되지 않습니다. 오직 2.2.3 버전 사용자에게만 전송됩니다.

이 패턴을 따르면 걱정할 필요 없이 모든 것이 완벽하게 관리됩니다.

이 방법을 따르지 않는다면

이 경우, Capacitor 4 버전이 포함된 새 앱을 Apple과 Google에는 제출해야 하지만, Capgo에는 제출할 필요가 없습니다.

그 후 사용자의 90%에서 100%가 앱을 설치할 때까지 기다려야 하며, 아마 몇 달이 걸릴 수도 있습니다.

그동안에는 기존 사용자가 새 버전을 받을 수 없기 때문에 Capgo를 통한 업데이트를 보낼 수 없습니다. 특정 사용자에게만 업데이트를 전달하는 기능도 사용할 수 없습니다.

capgo에서 메이저 버전 출시하는 방법 계속 보기

사용 중이라면 capgo에서 메이저 버전을 출시하는 방법 rollback 및 버전 관리를 계획하려면, 이를 다음 항목과 연결하세요 롤백 Rollbacks의 구현 세부 사항에 대해서는, 버전 타겟팅 Version Targeting의 구현 세부 사항에 대해서는, 업데이트 동작 Update Behavior의 구현 세부 사항은, bundle bundle의 구현 세부 사항은, 그리고 Capgo Live Updates Capgo Live Updates의 제품 워크플로우를 위해.

Capacitor 앱용 Live updates

웹 레이어 버그가 라이브 상태라면, 앱 스토어 승인을 며칠씩 기다리지 말고 Capgo를 통해 수정 사항을 배포하세요. 네이티브 변경 사항은 정상 리뷰 절차를 그대로 따르는 반면, 사용자는 백그라운드에서 업데이트를 받습니다.

블로그 최신 글

Capgo는 정말 프로페셔널한 모바일 앱을 만드는 데 필요한 최고의 인사이트를 제공합니다.