본문 바로가기

알려진 문제

GitHub

Ionic 라이브 리로드

“Ionic live reload” 섹션
  • 개발 중 CLI의 Ionic live reload 기능을 사용하면 플러그인 설정이 덮어씌워지므로, 업데이트 내용을 확인할 수 없습니다.

Quasar 라이브 리로드

“Quasar live reload” 섹션
  • 내부적으로 ionic과 동일한 시스템을 사용하므로 업데이트가 반영되지 않을 수 있습니다.
  • 대용량 업데이트(> 20mb)를 푸시할 때 주로 발생하며, 이 경우 많은 사용자가 최신 버전을 받지 못할 수 있습니다.
    이전에는 다운로드가 완료될 때까지 앱을 열어두어야 했으나, 현재는 백그라운드 다운로드를 지원합니다. 다만 여전히 몇 초 내외로 제한됩니다.

인도 지역 기기에서 일부 이슈가 확인되어 사용자 지원을 진행한 결과, 다른 DNS 서버를 사용했을 때 해결되었습니다.

따라서 동일한 문제가 발생한다면 Cloudflare 또는 Google DNS와 같은 다른 DNS 서버를 사용해 보세요.

Cloudflare: 1.1.1.1 및 1.0.0.1

Google DNS: 8.8.8.8 및 8.8.4.4 또는 dns.google

셀프 호스팅

“Self Hosted” 섹션

Self-hosted 업데이트를 푸시할 때, Android 앱의 보안 정책상 “HTTP” 엔드포인트를 사용할 수 없으니 주의하세요. 그래도 사용해야 한다면 다음 가이드를 따르세요:

압축 해제

“Unzip” 섹션

Unzip 이슈: DEFLATED 항목에 EXT 디스크립터가 포함될 수 있음

CLI 이외의 도구로 번들을 압축한 경우, zip 형식이 잘못되었을 수 있습니다. CLI 명령어를 사용하세요. npx @capgo/cli zip BUNDLE_FOLDER.

이는 Java의 알려진 이슈입니다:

  • usesCleartextTraffic 관련 문제가 있다면, 플러그인이 SonarCloud에서 권장하는 모범 사례를 따르기 때문입니다. 90%의 경우에는 문제없이 작동하지만, 일부 플러그인과 함께 사용하면 문제가 생깁니다.

해결하려면 다음을 추가하세요: android/app/src/main/AndroidManifest.xml 안에 <application> 키:

tools:replace="android:usesCleartextTraffic"
xmlns:tools="http://schemas.android.com/tools"

프라이버시 매니페스트

“Privacy Manifest” 섹션

다음 항목을 추가하세요: NSPrivacyAccessedAPICategoryUserDefaults 사전 키를 다음 항목에: 개인정보 보호 매니페스트 (Privacy Manifest) (보통 ios/App/PrivacyInfo.xcprivacy):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<!-- Add this dict entry to the array if the file already exists. -->
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>

다음 항목을 선언하는 것을 권장합니다: CA92.1 를 위한 접근 이유로: UserDefaults API

업데이트 테스트를 위해 로컬 서버를 사용하면 앱에서 네트워크 권한을 요청할 수 있습니다. 이는 정상적인 동작이며, 원격 서버를 사용할 때는 발생하지 않습니다.

수동 모드(manual mode)로 업데이트할 때 일부 이벤트는 포착하기 어려울 수 있습니다. 예를 들어, 업데이트 실패 이벤트가 JS code가 리로드되기 직전에 발생하면 이를 감지할 수 없습니다.

대안으로 번들 목록을 나열하고 에러 통계를 확인하여 업데이트 실패 여부를 파악할 수 있습니다.

향후 더 나은 처리 방식을 찾아야 하겠지만, 자동 모드(auto mode)가 권장되는 업데이트 방식이므로 현재로서는 우선순위가 높지 않습니다.

이 기능을 개선하는 데 도움을 줄 PR을 환영합니다.

CLI에서 문제가 발생한다면,

다음 사항을 확인하세요: appId 및 appName 사용 중인 capacitor.config.ts에 포함되어 있습니다.

공식 문서를 참고하세요:

Known issues에서 계속하기

“Known issues에서 계속하기” 섹션

사용 중인 경우 알려진 문제 네이티브 플러그인 작업을 계획하려면, 이를 연결하세요: @capgo/capacitor-updater 사용하기 @capgo/capacitor-updater 사용 시 Native Build 기능 Capgo 플러그인 디렉토리 Capgo 플러그인 디렉토리의 제품 워크플로우를 보려면, Capgo 제공 Capacitor 플러그인 Capgo 제공 Capacitor 플러그인의 구현 세부 사항을 보려면, 플러그인 추가 및 업데이트 플러그인 추가 및 업데이트의 구현 세부 사항을 확인하고, Ionic Enterprise 플러그인 대안 Ionic Enterprise 플러그인 대안의 제품 워크플로우를 확인하세요.