시작하기
새 프로젝트 설치
Section titled “새 프로젝트 설치”-
코어 패키지 설치
Terminal window npm install @capacitor-plus/core @capacitor-plus/cli -
플랫폼 패키지 추가
Terminal window npm install @capacitor-plus/android # for Androidnpm install @capacitor-plus/ios # for iOS -
Capacitor 초기화
Terminal window npx cap initTerminal window pnpm cap initTerminal window yarn cap initTerminal window bunx cap init -
플랫폼 추가
Terminal window npx cap add androidTerminal window pnpm cap add androidTerminal window yarn cap add androidTerminal window bunx cap add androidTerminal window npx cap add iosTerminal window pnpm cap add iosTerminal window yarn cap add iosTerminal window bunx cap add ios
공식 Capacitor에서 마이그레이션
Section titled “공식 Capacitor에서 마이그레이션”기존 Capacitor 프로젝트가 있는 경우 Capacitor+로 마이그레이션하는 것은 간단합니다:
-
공식 패키지 제거
Terminal window npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios -
Capacitor+ 패키지 설치
Terminal window npm install @capacitor-plus/core @capacitor-plus/clinpm install @capacitor-plus/android # if using Androidnpm install @capacitor-plus/ios # if using iOS -
프로젝트 동기화
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
Capacitor+는 API 호환이 가능하므로 기존 코드가 변경 없이 작동합니다:
import { Capacitor } from '@capacitor/core';import { registerPlugin } from '@capacitor/core';
// Check platformconst platform = Capacitor.getPlatform();console.log('Running on:', platform);
// Check if nativeif (Capacitor.isNativePlatform()) { console.log('Running on native platform');}
// Register a custom pluginconst MyPlugin = registerPlugin('MyPlugin');공식 Capacitor 플러그인과 함께
Section titled “공식 Capacitor 플러그인과 함께”모든 공식 Capacitor 플러그인이 원활하게 작동합니다:
import { Camera, CameraResultType } from '@capacitor/camera';import { Geolocation } from '@capacitor/geolocation';import { Storage } from '@capacitor/preferences';
// Cameraconst photo = await Camera.getPhoto({ quality: 90, resultType: CameraResultType.Uri});
// Geolocationconst position = await Geolocation.getCurrentPosition();
// Storageawait Storage.set({ key: 'name', value: 'John' });Capgo 플러그인과 함께
Section titled “Capgo 플러그인과 함께”Capgo 플러그인은 Capacitor+와 완벽하게 작동합니다:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';import { CapacitorFlash } from '@capgo/capacitor-flash';
// Live updatesawait CapacitorUpdater.notifyAppReady();
// Screen orientationawait ScreenOrientation.lock({ orientation: 'portrait' });
// Flashlightawait CapacitorFlash.toggle();동기화 작동 방식
Section titled “동기화 작동 방식”┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish ││ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus││ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘- 일일 동기화: GitHub Actions가
ionic-team/capacitor에서 최신 변경 사항을 가져옵니다 - PR 생성: 변경 사항이
plus브랜치에 대한 풀 리퀘스트로 제안됩니다 - CI 검증: 전체 테스트 스위트 실행(lint, 단위 테스트, iOS 빌드, Android 빌드)
- 보안 검토: AI 기반 분석이 취약점 및 중단 변경 사항을 확인합니다
- 자동 병합: CI가 통과하고 보안 검토가 승인되는 경우에만
- 자동 게시: 새 버전이 npm에
@capacitor-plus/*로 게시됩니다
보안 검토 세부 사항
Section titled “보안 검토 세부 사항”모든 업스트림 동기화는 다음을 분석합니다:
| 확인 | 감지하는 내용 |
|---|---|
| 보안 | 명령 주입, XSS, 경로 순회, 하드코딩된 비밀 |
| 중단 변경 사항 | 제거/이름이 변경된 API, 변경된 서명, 구성 변경 |
| 안정성 | Null 역참조, 처리되지 않은 예외, 경쟁 조건, 메모리 누수 |
| 데이터 안전성 | 데이터 손실 시나리오, 개인정보 보호 위반, 안전하지 않은 저장소 |
| 코드 무결성 | 난독화된 코드, 의심스러운 네트워크 호출, 백도어 |
공식 Capacitor 저장소에 PR이 막혀 있습니까? Capacitor+에서 병합하세요:
-
이슈 열기 Capacitor+ 저장소에서 업스트림 PR에 링크
-
또는 직접 제출
plus브랜치에 PR로 -
팀이 검토하고 CI를 실행하며 통과하면 병합합니다
이렇게 하면 업스트림 릴리스 주기를 기다리지 않고 귀하와 다른 사람들이 귀하의 작업에서 즉시 혜택을 받을 수 있습니다.
프로덕션 준비가 되었습니까?
Section titled “프로덕션 준비가 되었습니까?”예. Capacitor+는 프로덕션 앱에서 사용됩니다. 모든 릴리스는 공식 Capacitor와 동일한 테스트 스위트와 추가 보안 분석을 통과합니다.
공식 플러그인이 여전히 작동합니까?
Section titled “공식 플러그인이 여전히 작동합니까?”예. 모든 @capacitor/* 플러그인은 Capacitor+와 함께 즉시 작동합니다.
업스트림이 중단 변경 사항을 릴리스하면 어떻게 됩니까?
Section titled “업스트림이 중단 변경 사항을 릴리스하면 어떻게 됩니까?”AI 보안 검토는 수동 검토를 위해 중단 변경 사항에 플래그를 지정합니다. 변경 사항이 병합되기 전에 문서화된 변경 사항을 볼 수 있습니다.
문제를 어떻게 보고합니까?
Section titled “문제를 어떻게 보고합니까?”Capacitor+ GitHub 저장소에 문제를 제출하세요. 공식 Capacitor에도 영향을 미치는 문제의 경우 업스트림 조정을 도와드리겠습니다.
기여할 수 있습니까?
Section titled “기여할 수 있습니까?”물론입니다! PR을 환영합니다. 수정 사항을 직접 제출하거나 특정 업스트림 PR이 병합되도록 요청할 수 있습니다.