콘텐츠로 건너뛰기

디버깅

클라우드 거부 code를 받았으며 구체적인 개선 단계가 필요하시면 보세요. 일반 업데이트 문제.

Capgo 로그에는 이벤트에 대한 메타데이터가 포함될 수 있습니다. 대시보드에서 액션 필터를 사용하여 code 아래에 나열된 스네이크 케이스 액션을 필터링하고 메타데이터 셀을 클릭하여 전체 JSON 페이로드를 복사하세요. 메타데이터는 특히 충돌 및 WebView 이벤트에서 유용합니다. 에러 메시지, 소스 URL, 라인 및 열, 프로세스 상태, 메모리 압박 또는 플랫폼별 이유와 같은 컨텍스트를 포함할 수 있습니다.

백엔드에서 보내짐

제목: 백엔드에서 보내짐
code설명
invalid_ip (InvalidIp)유저가 Google 데이터 센터에 위치하고 업데이트 시간이 4시간 미만일 경우에만 업데이트 됩니다. 이는 Google 봇의 장치가 계정에 포함되지 않도록 하기 위함입니다.
need_plan_upgrade (needPlanUpgrade, 이전에 업그레이드 필요)계획 제한을 초과하여, 장치 업데이트를 받을 수 없습니다. 업그레이드 또는 다음 달까지 기다려야 합니다.
업데이트가 없습니다 (업데이트가 없습니다)장치가 최신 버전입니다.
Semantic 버전이 올바르지 않습니다.iOS 플랫폼은 채널 설정에서 비활성화되어 있습니다.
iOS 플랫폼은 채널 설정에서 비활성화되어 있습니다. (Android 플랫폼은 채널 설정에서 비활성화되어 있습니다.)Android 플랫폼은 채널 설정에서 비활성화되어 있습니다.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)__CAPGO_KEEP_0__ 플랫폼은 Android입니다. 그러나 채널 설정에서 비활성화되었습니다.
__CAPGO_KEEP_1__ (__CAPGO_KEEP_2__)__CAPGO_KEEP_0__의 자동 업데이트 기능은 호환성 정책으로 비활성화되었습니다. 메타데이터에는 auto_update __CAPGO_KEEP_3__과 같은 규칙이 포함되어 있습니다. major, minor, patch, metadata__CAPGO_KEEP_4__ 또는 none.
__CAPGO_KEEP_5__ (__CAPGO_KEEP_0__ 플랫폼의 기기 버전은 (__)이고 채널은 기기 버전보다 최신 버전인 (__)을 보냅니다. 그러나 채널 설정에서 비활성화되었습니다.)__CAPGO_KEEP_6__1.2.3__CAPGO_KEEP_0__ 플랫폼의 기기는 Native 환경에서 작동합니다. 그러나 채널 설정에서 __CAPGO_KEEP_6__ 기능이 비활성화되었습니다.1.2.2__CAPGO_KEEP_0__ 플랫폼의 기기 버전은 (__)이고 채널은 기기 버전보다 최신 버전인 (__)을 보냅니다. 그러나 채널 설정에서 __CAPGO_KEEP_6__ 기능이 비활성화되었습니다.
__CAPGO_KEEP_0__ 플랫폼의 기기 버전은 (__)이고 채널은 기기 버전보다 최신 버전인 (__)을 보냅니다. 그러나 채널 설정에서 __CAPGO_KEEP_6__ 기능이 비활성화되었습니다. (__CAPGO_KEEP_0__)채널 설정에서 개발 빌드가 비활성화되어 있습니다.
__CAPGO_KEEP_0__ (채널 설정에서 에뮬레이터가 비활성화되어 있습니다.)__CAPGO_KEEP_0__
bundle 다운로드를 위한 유효한 서명 URL을 생성할 수 없습니다. 이 오류는 bundle URL 생성이 실패하거나 유효하지 않은 URL을 반환할 때 발생하며, 대체로 사용할 수 있는 매니페스트가 없을 때 발생합니다. (__CAPGO_KEEP_0__)디바이스는 비공개 채널과 자체 연관을 시도했지만, 채널 설정에서 디바이스 자체 연관을 허용하지 않았으며(이미 false로 설정되어 있습니다) 채널이 공개되지 않았습니다.
__CAPGO_KEEP_1__ (__CAPGO_KEEP_2__)__CAPGO_KEEP_3__allow_device_self_set __CAPGO_KEEP_4__
채널 설정 오류 (채널 설정 오류)채널은 버전 번호 (disable_auto_update: 'version_number')로 자동 업데이트 기능을 비활성화로 설정되어 있습니다. 그러나 배포물의 min_update_version field는 null로 설정되어 있어, 업데이트를 받을 장치의 버전을 결정할 수 없습니다.
버전 번호 메타데이터로 자동 업데이트 기능을 비활성화 (버전 번호 메타데이터로 자동 업데이트 기능이 비활성화되어 있습니다. 채널은 장치의 버전이 적어도 ),이상이어야 하지만 현재 장치의 버전은 이 임계값보다 낮습니다. min_update_version주 버전으로 자동 업데이트 기능을 비활성화
주 버전으로 자동 업데이트 기능이 비활성화되어 있습니다. (채널 설정)채널 설정 disable_auto_update: 'major' major 버전 번호 증가로 인한 업데이트를 차단합니다. 예를 들어 1.x.x __CAPGO_KEEP_0__로 업데이트를 차단합니다. 2.x.x.
disable_auto_update_to_minor (disableAutoUpdateToMinor)채널 설정 disable_auto_update: 'minor' major 버전 번호 증가로 인한 업데이트를 차단합니다. 예를 들어 1.2.x __CAPGO_KEEP_0__로 업데이트를 차단합니다. 1.3.x.
disable_auto_update_to_patch (disableAutoUpdateToPatch)채널 설정 disable_auto_update: 'patch' major.minor 버전에서 patch-level 업데이트만 허용하거나, patch 버전 번호 증가로 인한 업데이트를 차단합니다.
__CAPGO_KEEP_0__ (missingBundle)이 채널에 할당된 번들은 다운로드할 수 있는 콘텐츠가 없습니다. 따라서 번들은 external_url, r2_path이 버전이 내장 버전이 아니며, 다운로드할 수 있는 매니페스트 항목이 없습니다.
no_channel (NoChannelOrOverride)이 앱에 대한 기본 채널이 설정되어 있지 않으며, 장치에 할당된 특정 채널 오버라이드도 없습니다. 업데이트가 작동하려면 적어도 하나가 필요합니다.
rate_limited (rateLimited)장치는 과도한 요청으로 인해 제한되었습니다.
key_id_mismatch (keyMismatch)__CAPGO_KEEP_0__ device_key_id, bundle_key_id__CAPGO_KEEP_0__ version __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__
code__CAPGO_KEEP_0__
__CAPGO_KEEP_0____CAPGO_KEEP_0__
__CAPGO_KEEP_0____CAPGO_KEEP_0__
__CAPGO_KEEP_0__장치에서 하나의 번들 삭제되었습니다.
__CAPGO_KEEP_0__장치에 번들이 설정되었습니다.
장치에 번들이 설정되지 않았습니다.설정에 실패했습니다.
장치가 __CAPGO_KEEP_1__으로 리셋되었습니다.__CAPGO_KEEP_2__ builtin __CAPGO_KEEP_3__ XX% (10 단위 증가) 다운로드 진행 중입니다.
__CAPGO_KEEP_4__ 다운로드가 완료되었습니다.__CAPGO_KEEP_5__
__CAPGO_KEEP_6____CAPGO_KEEP_7__
다운로드 매니페스트 시작디바이스가 업데이트 매니페스트 다운로드를 시작했습니다.
다운로드 매니페스트 완료디바이스가 업데이트 매니페스트 다운로드를 완료했습니다.
다운로드 ZIP 시작디바이스가 배달 아카이브 다운로드를 시작했습니다.
다운로드 ZIP 완료디바이스가 배달 아카이브 다운로드를 완료했습니다.
__CAPGO_KEEP_0__ 다운로드 매니페스트 파일 실패__CAPGO_KEEP_0__ 매니페스트 항목이 다운로드되지 않았습니다; stats 페이로드는 version_name __CAPGO_KEEP_0__ 형태로 version:fileName __CAPGO_KEEP_0__ 디바이스를 pinpoint 하기 위해
다운로드 매니페스트 체크섬 실패매니페스트 파일 체크섬 검증에 실패했습니다.
다운로드 매니페스트 브로틀리 실패매니페스트 파일 브로틀리 압축에 실패했습니다.
다운로드 실패새로운 번들 다운로드에 실패했습니다.
업데이트 실패새로운 번들이 설치되었지만 호출에 실패했습니다. notifyAppReady.
체크섬 실패새로운 번들이 체크섬을 검증하는데 실패했습니다. 이 문제는 여러 가지 이유로 발생할 수 있습니다: 1) 체크섬 타입 불일치: 최신 버전의 CLI 및 플러그인 (버전 5.10.0+, 6.25.0+ 또는 7+)은 SHA256 체크섬을 사용하지만, 이전 버전의 플러그인은 CRC32을 사용합니다. 체크섬 실패를 보게 되면 체크섬이 CRC32인지 SHA256인지 확인해 보세요. 일반적으로 번들이 업로드된 CLI의 이전 버전일 때 체크섬이 CRC32으로 나타납니다. 체크섬이 CRC32인지 확인하고 Capgo 대시보드에서 번들의 버전을 확인해 보세요. 버전 5.10.0/6.25.0/7 이후로 업로드된 번들은 SHA256을 사용합니다. CRC32 체크섬을 보게 되면 CLI이 로컬 플러그인 버전을 확인하여 업로드할 체크섬 타입을 결정합니다. 로컬 플러그인 버전이 최신인지 확인하고 CLI을 업그레이드하여 다시 번들을 업로드해 보세요. 2) 암호화 키 불일치 (플러그인 버전 8.3.0 이하 또는 5/6/7.38.0): 오래된 플러그인 버전을 사용 중인 경우, 장치의 공개 키가 암호화된 배달의 암호화 키와 일치하지 않으면, 서버에서 오류가 발생하지 않고 체크섬 오류가 발생합니다. 암호화 사용 중에 이 문제를 발견하면, 앱의 공개 키가 업로드한 배달의 개인 키와 일치하는지 확인하세요. 플러그인 버전 8.3.0 이상 (또는 5/6/7.38.0 이상)으로 업그레이드하면, 이 문제를 더 쉽게 진단할 수 있는 올바른 오류 메시지가 서버에서 반환됩니다. checksum_failwindows_path_fail capacitor.config.json zip 파일에 윈도우 경로가 포함된 파일이 있는 경우 keyMismatch canonical_path_fail
zip 파일의 파일 경로가 정규화되지 않은 경우directory_path_fail
zip 파일의 디렉토리 경로가 잘못된 경우unzip_fail
unzip_failunzip_fail
unzip_fail압축이 풀리지 않았습니다.
low_mem_fail다운로드가 실패했습니다. 장치의 메모리가 부족하여.
앱이 백그라운드 상태로 전환되었습니다.앱이 전면 상태로 전환되었습니다.
앱이 전면 상태로 전환되었습니다.앱이 종료되었습니다.
JavaScript 또는 __CAPGO_KEEP_0__ layer에서 앱이 충돌했습니다. 메타데이터는 메시지, 스택, 소스 및 활성 번들 컨텍스트를 포함할 수 있습니다.The app reported a crash detected from the JavaScript or Capacitor layer. Metadata can include the message, stack, source, and active bundle context.
앱이 응답하지 않습니다.앱이 응답하지 않습니다.
앱이 응답하지 않습니다.Android는 응답하지 않는 Application 이벤트를 보고했습니다. 메타데이터는 사용 가능한 경우 ANR 이유, 스레드 또는 추적 요약이 포함될 수 있습니다.
__CAPGO_KEEP_0__앱 프로세스가 낮은 메모리 압박 후 종료되었습니다. 사용 가능한 메모리 및 플랫폼 신호가 포함된 메타데이터가 사용 가능한 경우.
__CAPGO_KEEP_0__OS는 앱이 과도한 리소스 사용으로 인해 종료되었습니다. 사용 가능한 경우 리소스 유형 또는 플랫폼 이유가 포함된 메타데이터.
__CAPGO_KEEP_0__업데이터 또는 앱 시작 흐름이 정상적인 런타임이 준비되기 전에 실패했습니다. 실패하는 단계 및 오류 메시지가 포함된 메타데이터.
__CAPGO_KEEP_0__iOS는 메모리 경고를 보고했습니다. 사용 가능한 경우 액티브 번들 및 메모리 컨텍스트가 포함된 메타데이터.
__CAPGO_KEEP_0__웹뷰는 미처 捕获되지 않은 자바스크립트 오류를 보고했습니다. 사용 가능한 경우 메시지, 소스 URL, 라인, 열 및 스택이 포함된 메타데이터.
__CAPGO_KEEP_0__웹뷰가 미처리된 약속 거부를 보고했습니다. 메타데이터에는 거부 사유, 원본 URL, 스택이 포함될 수 있습니다.
__CAPGO_KEEP_0__웹뷰 리소스가 로드에 실패했습니다. 메타데이터에는 URL, 상태 code, 리소스 유형 및 오류 메시지가 포함될 수 있습니다.
웹뷰 보안 정책 위반웹뷰가 콘텐츠 보안 정책 위반이 보고했습니다. 메타데이터에는 차단된 URI, 지시문 및 문서 URL이 포함될 수 있습니다.
앱이 이전 웹뷰 세션이 정상적으로 종료되지 않은 것을 감지했습니다. 업데이트 후에 발생하는 충돌 루프를 식별하는 데 도움이 될 수 있습니다.웹뷰 렌더링 프로세스가 종료되었습니다.
Android가 웹뷰 렌더링 프로세스가 종료되었습니다. 메타데이터에는 렌더링 프로세스가 충돌했는지 여부 및 렌더링 프로세스 우선순위가 포함될 수 있습니다.iOS가 웹뷰 콘텐츠 프로세스가 종료되었습니다. 메타데이터에는 활성 번들 및 페이지 URL이 포함될 수 있습니다.
암호화 실패웹뷰 리소스 로드 오류
웹뷰 보안 정책 위반 오류다운로드 된 패키지를 암호화 해제할 수 없습니다.
채널 가져오기 (채널 가져오기)장치의 현재 채널이 쿼리되었습니다.
채널 설정 (장치에 채널이 성공적으로 설정되었습니다.)앱이 제거되거나 __CAPGO_KEEP_0__ 데이터가 지워졌습니다.
서버 URLServer.url이 Capgo 구성 파일에 포함되어 있습니다. 이로 인해 __CAPGO_KEEP_1__은远程 URL을 사용하고 로컬 파일을 무시합니다. 그러나 업데이터는 로컬 파일을 사용하도록 설계되어 있습니다. Server.url은 __CAPGO_KEEP_2__ 제작자들에 의해 프로덕션에서 나쁜 관행으로 간주되고 많은 문제와 플러그인이 올바르게 작동하지 않도록 할 수 있습니다.
패키지 상태Server.url is present in your capacitor config, this make Capacitor serve remote url and ignore local files, while our updater is made to function with local file, Server.url Is consider by Capacitor Makers as bad practice in production and will lead to many issue and plugin not working correctly.

getChannel

Bundle 상태
  • SUCCESS: __CAPGO_KEEP_0__ 설치 완료
  • ERROR: __CAPGO_KEEP_0__ 설치 또는 다운로드 실패
  • PENDING: 다운로드 완료, 출시待ち
  • DELETED: __CAPGO_KEEP_0__ 삭제, 통계를 위해 표시
  • DOWNLOADING: __CAPGO_KEEP_0__ 다운로드 중

장치 로그 이해:

장치 로그 이해:

__CAPGO_KEEP_0__ 클라우드 사용자에게는 __CAPGO_KEEP_0__ 디버그 명령이 있습니다.

터미널 창

There is a debug command for Capgo cloud users.

Debug 명령:
npx @capgo/cli@latest app debug

__CAPGO_KEEP_1__

IOS

IOS

__CAPGO_KEEP_2__

Android:

Android:

__CAPGO_KEEP_4__

Explanations Logs

Explanations Logs
  • Failed to download from => same as 다운로드 실패
  • notifyAppReady was not called, roll back current bundle => same as as 업데이트 실패

다운로드한 패키지를 장치에서 찾는 방법

다운로드한 패키지를 장치에서 찾는 방법

iOS

iOS

iOS에서 디버깅을 하려면 앱을 컴퓨터에 덤프해야 합니다. 이 방법으로 할 수 있습니다.

Xcode는 iOS 장치에 개발자로 설치된 앱의 파일 시스템을 검사하는 내장 기능을 제공합니다. Xcode Window 메뉴의 Devices and Simulators 옵션

이것을 달성하려면:

  • Mac에 연결된 장치를 선택하고 Xcode 메뉴바의 Window > Devices를 선택하세요.
  • 장치 목록에서 장치를 선택하세요.
  • 이것은 장치에 개발자가 설치한 앱 목록을 보여줍니다.
  • 검사하고 싶은 앱을 선택하고 화면의 아래쪽에 있는 3개의 점 아이콘을 선택하세요.
  • 현재 파일 시스템을 보려면 다운로드 스냅샷을 선택하세요.

Xcode Devices 패널에 앱 컨테이너 다운로드 옵션을 보여줍니다.

다운로드 컨테이너…를 선택하면 파일 시스템의 스냅샷을 다운로드하고 .xcappdata 파일로 내보내며 이 파일을 탐색할 수 있습니다.

다운로드한 xcappdata 파일에 Show Package Contents 컨텍스트 메뉴를 선택하세요.

이 파일을 오른쪽 클릭하고 Show Package Contents를 선택하여 폴더를 열어보세요.

App Data 폴더를 열면 문서, 라이브러리, tmp 등 몇 개의 폴더를 볼 수 있습니다.

iOS 앱 컨테이너 폴더 구조에 문서 및 라이브러리 폴더를 보여줍니다.

그 다음으로 2개의 폴더에 버전이 있습니다.

library/NoCloud/ionic_built_snapshots 앱이 재부팅 된 후 필요합니다.

documents/versions 핫 리로드를 위해

Android에서 디바이스에 접근하려면 Android Studio에서 디바그해야 합니다.

  • View > Tool Windows > Device File Explorer를 클릭하거나 도구 창 바의 Device File Explorer 버튼을 클릭하여 Device File Explorer를 열어야 합니다.
  • 디바이스 목록에서 디바이스를 선택합니다.
  • 경로를 열어야 합니다. data/data/APP_NAME/ APP_NAME은 앱 ID입니다. where

안드로이드 스튜디오 디바이스 파일 탐색기에서 앱 데이터 디렉토리를 보여줍니다.

그런 다음 versions 폴더를 찾으세요.

안드로이드에서는 IOS와 달리 모든 버전이 하나의 폴더에 저장됩니다.

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

앱의 크래시 로그를 검토하는 방법

디버깅에서 계속

이미 사용 중이시면 디버깅 __CAPGO_KEEP_0__을 __CAPGO_KEEP_1__과 연결하여 @capgo/capacitor-업데이터를 사용하여 @capgo/capacitor-업데이터를 사용하여 capgo 네이티브 기능을 사용하는 경우 Capgo 플러그인 디렉토리 Capgo 플러그인 디렉토리에서 Capgo 제품 워크플로우를 사용하는 경우 Capacitor 플러그인에 의해 Capgo에서 구현하는 경우 Capacitor 플러그인에 의해 Capgo에서 구현하는 경우 Capacitor 플러그인에 대한 구현 세부 정보를 사용하는 경우 플러그인을 추가하거나 업데이트하는 경우 플러그인을 추가하거나 업데이트하는 경우에 대한 구현 세부 정보를 사용하는 경우 아이오닉 엔터프라이즈 플러그인 대체 아이오닉 엔터프라이즈 플러그인 대체에 대한 제품 워크플로우를 사용하는 경우