본문 바로가기

디버깅

GitHub

클라우드 로그 이해하기

“클라우드 로그 이해하기” 섹션

만약 code 거부 오류가 발생하여 더 자세한 해결 방법이 필요하다면 다음을 참조하세요. 일반적인 업데이트 문제.

Capgo 로그에는 이벤트 메타데이터가 포함될 수 있습니다. 대시보드에서 snake_case 형식의 액션인 code로 필터링한 뒤, 메타데이터 셀을 클릭하면 전체 JSON 페이로드를 복사할 수 있습니다. 메타데이터는 에러 메시지, 소스 URL, 라인 및 컬럼, 프로세스 상태, 메모리 압박 또는 플랫폼별 원인을 포함할 수 있어 크래시 및 WebView 이벤트 분석에 특히 유용합니다. 오래된 로그에는 괄호 안에 이전 camelCase 별칭이 표시될 수 있습니다.

각 섹션 제목은 콘솔 로그 테이블에 표시되는 code 액션과 일치하므로 해당 섹션으로 바로 이동할 수 있습니다.

플랜 제한 및 정상 응답

“플랜 제한 및 정상 응답” 섹션

결제, 스로틀링 또는 에러가 아닌 상태와 관련된 백엔드 거부 응답입니다.

의미

Capgo에서 Google 또는 클라우드 인프라에서 유입된 것으로 보이는 트래픽을 감지했습니다. 봇 트래픽이 과금 대상 디바이스로 집계되지 않도록 생성된 지 4시간 미만인 업데이트는 무시됩니다.

해결 방법

실제 사용자에게는 발생하지 않는 현상입니다. 일반 네트워크와 실제 기기에서 다시 시도하거나, 나중에 다시 확인해 보세요.

provider_infrastructure_request_blocked

“provider_infrastructure_request_blocked” 섹션

의미

앱이 알려진 Google 및 Apple 데이터 센터 IP 범위의 요청을 차단하도록 설정되어 있습니다. 이 보호 기능은 업데이트 확인, 통계 및 channel-self 요청에 적용되므로, 앱 설정이 올바르더라도 클라우드 호스팅 프로브나 provider runner가 이 응답을 받을 수 있습니다.

해결 방법

일반 사용자 네트워크를 사용하는 실제 기기에서 다시 시도하세요. 만약 provider에서 발생하는 트래픽이 의도된 것이라면, 잠시 동안 provider infrastructure 요청 차단 앱의 정보 탭에서 해당 설정을 비활성화한 후, 테스트가 끝나면 다시 활성화하세요. 신규 앱은 이 설정이 기본적으로 활성화되어 있으며, 기존 앱은 설정을 변경하기 전까지 이전의 비활성화 상태를 유지합니다.

의미

조직의 플랜 또는 디바이스 한도에 도달했습니다. 플랜을 업그레이드하거나 다음 결제 주기에 사용량이 초기화될 때까지 디바이스에 업데이트가 전송되지 않습니다.

해결 방법

대시보드에서 플랜을 업그레이드하거나 다음 결제 주기를 기다려 주세요.

의미

디바이스에 해당 채널의 최신 bundle이 이미 설치되어 있습니다. 이는 오류가 아닌 정상적인 상태입니다.

의미

짧은 시간 동안 디바이스에서 너무 많은 업데이트 또는 채널 요청을 보냈습니다.

해결 방법

render loop 내부에서 update API를 호출하지 마세요. 반드시 setChannel / getChannel 사용자 액션 시에만 호출하고, defaultChannel 에서 capacitor.config.

잘못된 Native 버전 메타데이터로 인한 백엔드 거부 오류입니다.

의미

설정된 Native 앱 버전이 누락되었거나 유효한 semver 형식이 아닙니다 (x.y.z).

해결 방법

설정 plugins.CapacitorUpdater.version ) 유효한 semver로 수정하려면 다음에서 확인하세요: SemVer 테스터확인 후 Native 앱을 다시 빌드하고 재설치하세요.

플랫폼 및 빌드 타겟팅

“플랫폼 및 빌드 타겟팅” 섹션

채널 정책에 의해 플랫폼, 빌드 유형 또는 디바이스 클래스가 차단되어 백엔드에서 거부된 경우입니다.

의미

디바이스는 iOS를 실행 중이지만, 해당 채널에서 iOS 업데이트가 비활성화되어 있습니다.

해결 방법

실수로 설정한 경우 채널에서 iOS를 활성화하고, 의도적으로 차단한 경우라면 iOS 빌드를 전용 채널로 라우팅하세요.

의미

디바이스는 Android를 실행 중이지만, 해당 채널에서 Android 업데이트가 비활성화되어 있습니다.

해결 방법

실수로 차단된 경우 해당 채널에서 Android를 활성화하거나, 의도적으로 차단하려는 경우 Android 빌드를 전용 채널로 라우팅하세요.

의미

기기에서 Electron이 실행 중이지만, 이 채널에서는 Electron 업데이트가 비활성화되어 있습니다.

해결 방법

실수로 차단된 경우 해당 채널에서 Electron을 활성화하거나, 의도적으로 차단하려는 경우 Electron 빌드를 전용 채널로 라우팅하세요.

의미

기기가 개발용 빌드(dev build)이지만, 이 채널에서는 개발용 빌드가 차단되어 있습니다.

해결 방법

테스트 채널에서 개발용 빌드를 허용하거나, 이 채널을 릴리스 전용으로 유지하고 개발용 기기는 다른 곳으로 이동시키세요.

의미

다음과 같은 프로덕션 빌드가 감지되었습니다: /updates, 하지만 이 채널은 프로덕션 업데이트가 차단되어 있습니다.

해결 방법

실수로 설정했다면 채널에서 프로덕션 업데이트를 허용하거나, 프로덕션 빌드를 올바른 채널로 라우팅하세요.

의미

이 채널은 실제 기기를 차단하므로, 실제 휴대폰 또는 태블릿의 접속이 차단되었습니다.

해결 방법

실수로 설정했다면 실제 기기 업데이트를 활성화하거나, 제한을 유지한 채 실제 기기를 다른 채널로 라우팅하세요.

의미

현재 기기는 에뮬레이터이지만, 이 채널은 에뮬레이터 업데이트가 비활성화되어 있습니다.

해결 방법

테스트 채널에서 에뮬레이터 업데이트를 활성화하거나, 이 채널의 에뮬레이터 차단을 유지한 채 다른 채널로 에뮬레이터 검증을 진행하세요.

자동 업데이트 호환성 규칙

“Auto-update compatibility rules” 섹션

semver 또는 메타데이터 규칙에 의해 대상 번들이 차단되어 백엔드에서 거부됨.

의미

채널 호환성 정책에 의해 Auto-update가 비활성화되었습니다. 메타데이터에는 다음이 포함됩니다: auto_update 다음과 같은 일치하는 규칙이 포함됨: major, minor, patch, metadata, 또는 none.

해결 방법

의도한 롤아웃이 가능하도록 채널의 자동 업데이트 정책을 변경하세요.

disableAutoUpdateUnderNative

“disableAutoUpdateUnderNative” 섹션

의미

해당 채널의 번들이 디바이스의 baseline보다 이전 버전이어서, Native Build 버전보다 낮은 버전으로의 업데이트를 차단하고 있습니다.

해결 방법

Native Build baseline과 같거나 높은 버전의 번들을 게시하거나, 채널에서 under-native 보호 기능을 비활성화하세요.

의미

해당 채널은 다음을 요구하지만, min_update_version디바이스의 Native Build 버전이 해당 임계값보다 낮습니다.

해결 방법

설정 min_update_version 더 높은 Native Build 버전의 번들이나 릴리스에 적용됩니다.

의미

해당 채널은 메이저 버전 점프를 차단합니다. 예: 1.x.x 대상 2.x.x.

해결 방법

채널 전략을 메이저 배포 계획에 맞추거나, 해당 트랙에서 메이저 점프를 허용하세요. 참고: 일반적인 업데이트 문제.

의미

해당 채널은 기기의 Native Build 기준 대비 마이너 버전 점프를 차단합니다 (version_build), 예: 1.2.3 대상 1.3.0.

해결 방법

채널 전략을 마이너 롤아웃 계획에 맞추거나, 해당 트랙에서 마이너 버전 점프를 허용하세요.

의미

해당 채널은 동일한 prefix를 유지하면서 patch 레벨의 변경은 차단하며, MAJOR.MINOR.PATCH suffix 변경만 허용합니다.

해결 방법

릴리스 주기를 채널 정책에 맞추거나, 해당 트랙에서 patch 버전 점프를 허용하세요.

채널 설정이 누락되었거나 호환되지 않아 발생하는 백엔드 거부 오류입니다.

cannotUpdateViaPrivateChannel

“cannotUpdateViaPrivateChannel” 섹션

의미

디바이스가 기기 자동 할당을 허용하지 않는 프라이빗 채널에 연결을 시도했습니다 (allow_device_self_set is false). 해당 채널은 공개 채널이 아닙니다.

해결 방법

활성화 allow_device_self_set 채널 설정을 변경하거나 디바이스를 공개 또는 허용된 채널로 전환하세요.

의미

채널은 다음을 사용하지만 disable_auto_update: "version_number" 번들은 min_update_version 값이 null이므로 Capgo이 어떤 디바이스를 업데이트할지 결정할 수 없습니다.

해결 방법

해당 규칙에 누락된 설정을 입력하거나 더 간단한 auto-update 모드로 전환하세요.

의미

기본 채널이 설정되어 있지 않으며, 디바이스에 채널 override도 없습니다.

해결 방법

대시보드에서 기본 채널을 설정하거나 빌드 시 defaultChannel 설정하세요.

Bundle delivery 및 암호화

“Bundle delivery 및 암호화” 섹션

Capgo가 bundle을 제공하거나 복호화할 수 없을 때 발생하는 백엔드 거부 오류입니다.

의미

Capgo에서 유효한 서명된 다운로드 URL을 생성하지 못했으며, 대체 가능한 manifest가 없습니다.

해결 방법

bundle을 다시 upload하고, manifest를 재생성한 뒤, R2 또는 public bundle 설정을 확인하세요.

의미

채널에 할당된 bundle에 다운로드 가능한 콘텐츠가 없습니다: external_url, r2_path, 내장 버전이 아니며, manifest 항목도 없습니다.

해결 방법

버전을 다시 build하여 upload하고, bundle에 실제 파일 콘텐츠가 있는지 확인하세요.

의미

기기의 암호화 공개 키가 bundle 암호화에 사용된 키와 일치하지 않습니다. 메타데이터에는 다음이 포함될 수 있습니다: device_key_id, bundle_key_id, 그리고 version.

해결 방법

콘솔에서 기기와 bundle의 키 ID를 비교하세요. 동일한 키와 일치하는 CLI/plugin 버전으로 게시하세요.

앱 설정 및 레거시 클라이언트

“앱 설정 및 레거시 클라이언트” 섹션

앱 설정 또는 지원되지 않는 updater 버전으로 인한 백엔드 거부.

의미

앱이 커스텀 기기 ID를 보냈지만 이 앱은 커스텀 ID를 허용하지 않으므로 해당 ID는 무시됩니다.

해결 방법

커스텀 ID 전송을 중단하거나, 워크플로우에 꼭 필요한 경우에만 사용하세요.

의미

server.url Capacitor 설정에 지정되어 있어, WebView가 로컬 번들 파일 대신 원격 URL을 로드합니다. Capgo Live Update는 로컬 파일이 필요하며, server.url 운영 환경에서는 권장하지 않습니다.

해결 방법

제거하거나 초기화하세요 server.url 운영 빌드에서는 업데이트 페이로드를 로컬로 유지하세요. 이 code은 백엔드 거부 또는 디바이스 측 상태로 나타날 수 있습니다.

의미

업데이터 플러그인이 v4 버전이라 백엔드에서 더 이상 허용하지 않습니다.

해결 방법

Capacitor v5+를 사용해 플러그인과 CLI를 v5 이상(v8 권장)으로 업그레이드하고, 다시 빌드한 뒤 번들 메타데이터를 다시 게시하세요.

업데이트 라이프사이클

“업데이트 라이프사이클” 섹션

일반적인 업데이트 흐름, 활성화 및 롤백에 대한 디바이스 측 이벤트입니다.

의미

통계 파이프라인을 검증하는 데 사용되는 내부 테스트 액션입니다.

의미

Capgo가 새 버전에 대한 다운로드 정보를 디바이스로 전송했습니다.

의미

기기에서 번들이 활성화되었습니다.

의미

기기에서 번들 활성화에 실패했습니다.

해결 방법

다음 명령어로 네이티브 로그를 확인하고 npx @capgo/cli@latest app debug 번들의 무결성, 경로 및 notifyAppReady 흐름을 검증하세요.

의미

기기가 내장된 번들로 리셋되었습니다.

의미

기기에서 번들 하나가 삭제되었습니다.

다운로드 및 설치 실패

“다운로드 및 설치 실패” 섹션

다운로드 진행 상황, 아카이브 검증 및 설치 오류에 대한 기기 측 이벤트입니다.

의미

다운로드 시퀀스가 0% 진행률로 시작되었습니다.

의미

새 번들이 다운로드되었습니다 — 진행률 10% 표시.

의미

새 번들이 다운로드되었습니다 — 진행률 20%로 표시됩니다.

의미

새 번들이 다운로드되었습니다 — 진행률 30%로 표시됩니다.

의미

새 번들이 다운로드되었습니다 — 진행률 40%로 표시됩니다.

의미

새 번들이 다운로드되었습니다 — 진행률 50%로 표시됩니다.

의미

새 번들이 다운로드되었습니다 — 진행률 60%.

의미

새 번들이 다운로드되었습니다 — 진행률 70%.

의미

새 번들이 다운로드되었습니다 — 진행률 80%.

의미

새 번들이 다운로드되었습니다 — 진행률 90%.

의미

bundle 다운로드가 성공적으로 완료되었습니다.

의미

기기에서 업데이트 manifest 다운로드를 시작했습니다.

download_manifest_complete

“download_manifest_complete” 섹션

의미

기기에서 업데이트 manifest 다운로드를 완료했습니다.

의미

기기에서 bundle archive 다운로드를 시작했습니다.

의미

기기에서 번들 아카이브 다운로드를 완료했습니다.

download_manifest_file_fail

“download_manifest_file_fail” 섹션

의미

매니페스트 항목 중 하나를 다운로드하지 못했습니다. version_name 사용됨 version:fileName 에셋을 식별하기 위해 사용됩니다.

해결 방법

누락되거나 차단된 에셋을 수정하고, 매니페스트를 다시 생성한 뒤 번들을 다시 upload 하세요.

download_manifest_checksum_fail

“download_manifest_checksum_fail” 섹션

의미

매니페스트 파일의 체크섬 검증에 실패했습니다.

해결 방법

최신 CLI 버전으로 번들을 다시 upload하고 manifest checksum을 확인하세요.

download_manifest_brotli_fail

“download_manifest_brotli_fail” 섹션

의미

manifest 파일의 Brotli 압축 해제에 실패했습니다.

해결 방법

압축 설정을 확인하고 해당 에셋을 다시 upload하세요.

의미

번들 download에 실패했습니다.

해결 방법

네트워크 연결, signed URL 만료 여부, CDN 도달 가능성 및 디바이스 저장 공간을 확인하세요.

의미

번들은 설치되었으나 앱이 호출되지 않음 notifyAppReady, 따라서 Capgo이(가) 롤백되었습니다.

해결 방법

호출하세요 notifyAppReady() 앱 부트스트랩 완료 후. Native 로그 텍스트 notifyAppReady was not called, roll back current bundle 이 code에 해당합니다.

의미

다운로드한 번들의 체크섬 검증에 실패했습니다. 주요 원인: 이전 CLI 업로드 시 발생한 CRC32와 SHA256 불일치, 또는 복호화 실패를 체크섬 오류로 표시하는 구형 플러그인의 암호화 키 불일치.

해결 방법

최신 CLI/plugin(SHA256)으로 다시 upload하세요. 암호화를 사용한다면 앱 public key가 upload key와 일치하는지 확인하거나, 명확한 keyMismatch 오류입니다.

의미

다운로드한 bundle을 복호화하지 못했습니다.

해결 방법

암호화 키를 확인하고, 일치하는 키 쌍으로 bundle을 다시 upload하세요.

의미

zip에 허용되지 않는 Windows 스타일 경로가 있습니다.

해결 방법

Unix 경로로 bundle을 다시 빌드하거나, upload 전에 아카이브 경로를 정리하세요.

의미

zip 내부의 파일 경로가 canonical 형식이 아닙니다.

해결 방법

upload 전 아카이브 경로 생성 로직을 수정하세요.

의미

zip 파일에 유효하지 않은 디렉토리 경로가 포함되어 있습니다.

해결 방법

upload 전 아카이브 구조를 수정하세요.

의미

기기에서 다운로드한 bundle 압축 해제에 실패했습니다.

해결 방법

아카이브 무결성 및 지원되는 압축 형식을 확인하세요.

의미

기기 메모리 부족으로 인해 다운로드에 실패했습니다.

해결 방법

bundle 크기를 줄이거나 여유 메모리가 더 많은 기기에서 다시 시도하세요.

앱 상태 및 WebView 이벤트

“App health and WebView events” 섹션

기기 측의 crash, 메모리 및 WebView 진단 정보입니다. 항상 dashboard에서 metadata JSON을 확인하세요.

의미

앱이 백그라운드로 전환되었습니다.

의미

앱이 포그라운드로 전환되었습니다.

의미

JavaScript 또는 Capacitor 레이어 크래시가 발생했습니다. 메타데이터에는 메시지, 스택, 소스 및 활성 번들 컨텍스트가 포함될 수 있습니다.

해결 방법

메타데이터와 네이티브 로그를 확인하세요. JS와 네이티브 에러 리포팅(예: Sentry)을 연동하면 문제가 발생한 code 경로를 쉽게 찾을 수 있습니다.

의미

Native 플랫폼 크래시. 메타데이터에 플랫폼, 원인, 스택 및 프로세스 상세 정보가 포함될 수 있습니다.

해결 방법

Xcode 또는 Logcat 크래시 로그를 사용하고, 메타데이터의 활성 bundle과 대조하여 확인하세요.

의미

Android Application Not Responding(ANR) 이벤트.

해결 방법

Logcat에서 ANR trace를 조사하고, 업데이트 후 메인 스레드 차단 작업을 최소화하세요.

의미

메모리 압박으로 인해 OS가 앱을 종료했습니다.

해결 방법

업데이트 활성화 후 메모리 사용을 줄이고, 메타데이터에서 사용 가능한 메모리 신호를 확인하세요.

app_killed_excessive_resource_usage

“app_killed_excessive_resource_usage” 섹션

의미

과도한 리소스 사용으로 OS가 앱을 종료했습니다.

해결 방법

메타데이터에서 리소스 유형이나 플랫폼 원인을 확인하세요.

app_initialization_failure

“app_initialization_failure” 섹션

의미

정상 런타임이 준비되기 전에 Updater 또는 앱 시작 단계에서 실패했습니다.

해결 방법

메타데이터에서 실패한 단계와 에러 메시지를 확인하세요.

의미

iOS 메모리 경고.

해결 방법

메타데이터에서 메모리 컨텍스트를 확인하고 업데이트 후 피크 사용량을 줄이세요.

의미

WebView에서 발생한 Uncaught JavaScript 에러입니다. 메타데이터에는 메시지, 소스 URL, 라인, 컬럼 및 스택 정보가 포함될 수 있습니다.

해결 방법

프로덕션 환경에서 정확한 에러 발생 라인을 캡처하려면 JS 및 네이티브 레이어에 에러 리포팅을 설치하세요.

webview_unhandled_rejection

“webview_unhandled_rejection” 섹션

의미

WebView에서 처리되지 않은 promise rejection입니다.

해결 방법

JS 및 네이티브 에러 리포팅으로 비동기 실패를 캡처하세요.

의미

WebView 리소스 로드에 실패했습니다.

해결 방법

메타데이터 URL과 상태 상세 정보를 사용하여 손상된 에셋이나 네트워크 규칙을 수정하세요.

webview_security_policy_violation

“webview_security_policy_violation” 섹션

의미

콘텐츠 보안 정책(CSP)에 의해 리소스가 차단되었습니다.

해결 방법

메타데이터 지시어와 차단된 URI 상세 정보를 사용하여 CSP를 조정하세요.

의미

이전 WebView 세션이 정상적으로 종료되지 않았습니다. 이는 업데이트 후 크래시 루프가 발생하고 있음을 나타낼 수 있습니다.

해결 방법

재시작 전후의 크래시 및 WebView 에러 이벤트와 연관성을 확인하세요.

webview_render_process_gone

“webview_render_process_gone” 섹션

의미

Android WebView 렌더러 프로세스가 종료되었습니다.

해결 방법

메타데이터와 네이티브 로그에서 렌더러 크래시 신호를 조사하세요.

webview_content_process_terminated

“webview_content_process_terminated” 섹션

의미

iOS WebView 콘텐츠 프로세스가 종료되었습니다.

해결 방법

메타데이터에서 현재 활성화된 bundle 및 페이지 URL을 확인하세요.

환경 및 channel 컨텍스트

“환경 및 channel 컨텍스트” 섹션

업데이트 동작과 OS, native 버전 또는 channel 변경 사항을 연관 지을 수 있도록 돕는 디바이스 측 컨텍스트 이벤트입니다.

의미

체크 사이의 디바이스 OS 버전이 변경되었습니다.

native_app_version_changed

“native_app_version_changed” 섹션

의미

Native 앱 스토어 버전이 변경되었습니다. 이를 통해 native 변경 사항과 web bundle 변경 사항을 구분할 수 있습니다.

의미

기기에서 현재 채널을 조회했습니다.

의미

기기에 채널이 성공적으로 설정되었습니다.

의미

앱이 삭제되었거나 Capgo 데이터가 삭제되었습니다.

  • SUCCESS: bundle 설치 완료
  • ERROR: 설치 또는 다운로드 실패
  • PENDING: 다운로드 완료, 릴리스 대기 중
  • DELETED: 번들 삭제됨, 통계에는 표시됨
  • DOWNLOADING: 번들 다운로드 중

디바이스 로그 이해하기

“디바이스 로그 이해하기” 섹션

Capgo 클라우드 사용자를 위한 디버그 명령이 있습니다.

터미널 창
npx @capgo/cli@latest app debug

이 명령을 통해 앱에서 발생하는 모든 이벤트를 확인하고, 업데이트가 작동하지 않을 때 해결 방법을 찾을 수 있습니다.

Xcode에서 로그를 확인하려면

Android 네이티브 로그

“Android 네이티브 로그” 섹션

Android Studio에서 로그를 확인하려면

네이티브 로그 문구 매핑

“네이티브 로그 문구 매핑” 섹션
  • Failed to download from 매핑 대상 download_fail
  • notifyAppReady was not called, roll back current bundle 매핑 대상 update_fail

기기에 다운로드된 bundle 찾는 방법

“기기에 다운로드된 bundle 찾는 방법” 섹션

iOS에서 디버깅하려면 앱 데이터를 컴퓨터로 덤프해야 하며, 방법은 다음과 같습니다:

Xcode에는 iOS 기기에 설치된 개발자용 앱의 파일 시스템을 검사할 수 있는 내장 기능이 있습니다. Devices and Simulators 옵션이 표시된 Xcode Window 메뉴

방법은 다음과 같습니다:

  • 기기를 Mac에 연결한 후 Xcode 메뉴 바에서 Window > Devices를 선택합니다.
  • 왼쪽 패널의 Devices 섹션에서 해당 기기를 선택합니다.
  • 그러면 해당 기기에 설치된 개발자용 앱 목록이 표시됩니다.
  • 검사할 앱을 선택한 다음 화면 하단 근처의 점 3개 아이콘을 클릭합니다.
  • 스냅샷을 다운로드하여 현재 파일 시스템을 확인할 수 있습니다.

앱 컨테이너 다운로드 옵션이 표시된 Xcode Devices 패널

Download Container…를 선택하면 파일 시스템 스냅샷이 .xcappdata 파일로 다운로드 및 내보내기 되며, 이를 통해 내용을 탐색할 수 있습니다.

패키지 내용 보기(Show Package Contents) 컨텍스트 메뉴가 포함된 다운로드된 xcappdata 파일

이 파일을 우클릭한 후 패키지 내용 보기를 선택하여 폴더를 엽니다.

App Data 폴더를 열면 Documents, Library, tmp 등의 폴더가 보입니다.

Documents 및 Library 폴더가 포함된 iOS 앱 컨테이너 폴더 구조

그 다음, 두 폴더에서 버전을 확인할 수 있습니다:

library/NoCloud/ionic_built_snapshots 앱 재부팅 후 필요함

및 documents/versions hot reload용

Android에서 디버깅하려면 Android Studio를 통해 기기에 접속해야 합니다:

  • View > Tool Windows > Device File Explorer를 클릭하거나, 도구 창 바에 있는 Device File Explorer 버튼을 클릭하여 Device File Explorer를 엽니다.
  • 드롭다운 목록에서 기기를 선택하세요.
  • 다음 경로를 엽니다: data/data/APP_NAME/ 여기서 APP_NAME은 앱 ID입니다.

앱 데이터 디렉토리를 보여주는 Android Studio Device File Explorer

그 다음 versions 폴더를 찾아 모든 버전을 확인하세요

iOS 프로덕션 크래시 로그 이해하기

“iOS 프로덕션 크래시 로그 이해하기” 섹션

사용 중이라면 디버깅 네이티브 플러그인 작업을 계획하려면, 이를 다음 항목과 연결하세요: @capgo/capacitor-updater 사용하기 네이티브 기능의 경우 @capgo/capacitor-updater 사용하기에서, Capgo 플러그인 디렉토리 Capgo Plugin Directory의 제품 워크플로우에 맞춰, Capgo의 Capacitor 플러그인 Capgo의 Capacitor 플러그인 구현 상세 내용에 대해서는, 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트 구현 상세 내용에 대해서는, Ionic Enterprise 플러그인 대안 Ionic Enterprise 플러그인 대안의 제품 워크플로우에 대해서는.