본문 바로가기

Live Updates 없이 Native Build 테스트하기

새 네이티브 바이너리를 테스트할 때는 이전에 다운로드한 live update가 아니라 해당 바이너리에 번들된 웹 에셋에서 시작하는지 확인하세요. 아래 안전 장치 중 하나를 사용하거나 조합하세요.

1. 네이티브 베이스라인 버전 올리기

“1. 네이티브 베이스라인 버전 올리기” 섹션

설정 CapacitorUpdater.version 네이티브 릴리스에 사용한 버전보다 높게 설정하고, 네이티브 빌드마다 버전을 올리세요. 새로운 네이티브 베이스라인을 사용하면 설치된 바이너리가 이전 번들과 구분되며, 기본 설정에서는 resetWhenUpdate: true새 네이티브 앱이 설치될 때 다운로드된 번들을 제거합니다.

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
// Keep this aligned with, and increase it for, every native build.
version: pkg.version,
autoUpdate: 'atBackground',
},
},
};
export default config;

예를 들어, version: '1.4.1' 로 빌드된 바이너리는 기존 버전보다 높은 네이티브 베이스라인을 가집니다. 1.4.0 bundle. 번들된 에셋을 검증해야 할 때는 네이티브 버전을 재사용하지 마세요.

2. 콘솔에서 에뮬레이터 및 개발 빌드 업데이트 차단하기

“2. 콘솔에서 에뮬레이터 및 개발 빌드 업데이트 차단” 섹션

앱을 Capgo 콘솔에서 열고 채널로 이동하여 빌드가 사용하는 채널을 선택하고 정보 탭을 엽니다. 을(를) 끄세요 둘 다 개발 빌드 허용 및 에뮬레이터 허용.

Capgo 채널 정보 탭에서 개발 빌드 허용 및 에뮬레이터 허용 설정 표시
이 컨트롤은 채널 정보 탭에 있습니다. 강조된 두 설정을 모두 비활성화하여 개발 빌드와 에뮬레이터가 번들된 웹 에셋을 유지하도록 하세요.

이 채널 정책은 선택된 빌드 유형에 대해서만 업데이트 전달을 차단합니다. 프로덕션 서명이 적용된 실제 기기는 채널의 다른 설정에 따라 여전히 업데이트를 받을 수 있습니다.

3. 네이티브 CI 빌드에서만 Live Updates 활성화

“3. 네이티브 CI 빌드에서만 라이브 업데이트 활성화” 섹션

로컬, 에뮬레이터, 개발자 빌드가 기본적으로 안전하도록 하려면 환경 변수를 통해 라이브 업데이트를 옵트인으로 설정하세요. 아래 설정은 다음 조건이 충족되지 않는 한 업데이트 확인을 비활성화합니다. CAPGO_LIVE_UPDATES 정확히 true:

import type { CapacitorConfig } from '@capacitor/cli';
import pkg from './package.json';
const liveUpdatesEnabled = process.env.CAPGO_LIVE_UPDATES === 'true';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example App',
plugins: {
CapacitorUpdater: {
// Bump package.json for every native build.
version: pkg.version,
// Local builds are off; native CI explicitly enables live updates.
autoUpdate: liveUpdatesEnabled ? 'atBackground' : false,
},
},
};
export default config;

네이티브 앱을 동기화하고 빌드하는 CI 단계에서만 변수를 설정하세요:

- run: CAPGO_LIVE_UPDATES=true npx cap sync
- run: ./build-native-app.sh

실행 npx cap sync 변수를 설정한 후에 하세요. Capacitor가 sync 중 이 설정을 네이티브 프로젝트로 복사하기 때문입니다. 변수가 없으면 로컬 빌드와 에뮬레이터 빌드는 기존 상태를 유지하고 autoUpdate: false Live Update를 확인하지 않습니다.

  1. 사용하는 버전을 올리세요 CapacitorUpdater.version 네이티브 바이너리용.
  2. 비활성화 개발 빌드 허용 및 에뮬레이터 허용 해당 빌드 유형을 테스트할 때 채널에서
  3. Live Update 없이 로컬 빌드 CAPGO_LIVE_UPDATES.
  4. 설정 CAPGO_LIVE_UPDATES=true 직전에만 npx cap sync Live Update를 받아야 하는 네이티브 CI 작업에서