디버깅
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 명령어를 복사하세요.
클라우드 로그 이해:
클라우드 로그 이해:라는 제목의 섹션클라우드 거부 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_fail | unzip_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__ 데이터가 지워졌습니다. |
| 서버 URL | Server.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.
npx @capgo/cli@latest app debug__CAPGO_KEEP_1__
IOS
IOS__CAPGO_KEEP_2__
Android:
Android:__CAPGO_KEEP_4__
Explanations Logs
Explanations LogsFailed to download from=> same as 다운로드 실패notifyAppReady was not called, roll back current bundle=> same as as 업데이트 실패
다운로드한 패키지를 장치에서 찾는 방법
다운로드한 패키지를 장치에서 찾는 방법iOS
iOSiOS에서 디버깅을 하려면 앱을 컴퓨터에 덤프해야 합니다. 이 방법으로 할 수 있습니다.
Xcode는 iOS 장치에 개발자로 설치된 앱의 파일 시스템을 검사하는 내장 기능을 제공합니다.

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

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

이 파일을 오른쪽 클릭하고 Show Package Contents를 선택하여 폴더를 열어보세요.
App Data 폴더를 열면 문서, 라이브러리, tmp 등 몇 개의 폴더를 볼 수 있습니다.

그 다음으로 2개의 폴더에 버전이 있습니다.
library/NoCloud/ionic_built_snapshots 앱이 재부팅 된 후 필요합니다.
및 documents/versions 핫 리로드를 위해
Android
Android라는 제목의 섹션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 플러그인에 대한 구현 세부 정보를 사용하는 경우 플러그인을 추가하거나 업데이트하는 경우 플러그인을 추가하거나 업데이트하는 경우에 대한 구현 세부 정보를 사용하는 경우 아이오닉 엔터프라이즈 플러그인 대체 아이오닉 엔터프라이즈 플러그인 대체에 대한 제품 워크플로우를 사용하는 경우