시작하기
이 플러그인의 설치 단계와 전체 markdown 가이드가 포함된 설정 프롬프트를 복사하세요.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-sim`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/sim/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
설치
“설치” 섹션AI 지원 설정으로 플러그인을 설치할 수 있습니다. 다음 명령어로 AI 도구에 Capgo 스킬을 추가하세요:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins그다음 아래 prompt를 사용하세요:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-sim` plugin in my project.Manual Setup을 선호한다면, 다음 명령어를 실행하여 플러그인을 설치하고 아래의 플랫폼별 지침을 따르세요:
bun add @capgo/capacitor-simbunx cap sync가져오기
“Import” 섹션import { Sim } from '@capgo/capacitor-sim';빠른 시작
“Quick start” 섹션import { Sim } from '@capgo/capacitor-sim';
const { simCards } = await Sim.getSimCards();simCards.forEach((sim, index) => { console.log(`SIM ${index + 1}:`); console.log(` Carrier: ${sim.carrierName}`); console.log(` Country: ${sim.isoCountryCode}`); console.log(` MCC: ${sim.mobileCountryCode}`); console.log(` MNC: ${sim.mobileNetworkCode}`);});예시: checkPermissions
“Example: checkPermissions” 섹션import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.checkPermissions();if (status.readSimCard === 'granted') { console.log('Permission granted');} else { console.log('Permission not granted');}예시: requestPermissions
“Example: requestPermissions” 섹션import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.requestPermissions();if (status.readSimCard === 'granted') { // Now you can call getSimCards() const simCards = await Sim.getSimCards();}자주 하는 실수
“자주 하는 실수” 섹션- 권한: 호출
checkPermissions()그다음requestPermissions()필요할 때. - 네이티브 동기화: 실행
bunx cap sync플러그인 업그레이드 후. - 단일 진실 공급원: 신뢰
src/definitions.tsGitHub 레포지토리에서.
API 개요
“API 개요” 섹션getSimCards
“getSimCards” 섹션기기 SIM 카드의 정보를 가져옵니다.
기기에 설치된 모든 SIM 카드 정보를 가져옵니다. 듀얼 SIM 기기에서는 두 SIM 카드의 정보를 모두 반환합니다. Android에서는 READ_PHONE_STATE 권한이 필요합니다.
import { Sim } from '@capgo/capacitor-sim';
const { simCards } = await Sim.getSimCards();simCards.forEach((sim, index) => { console.log(`SIM ${index + 1}:`); console.log(` Carrier: ${sim.carrierName}`); console.log(` Country: ${sim.isoCountryCode}`); console.log(` MCC: ${sim.mobileCountryCode}`); console.log(` MNC: ${sim.mobileNetworkCode}`);});checkPermissions
“checkPermissions” 섹션SIM 카드 정보 접근 권한을 확인합니다.
앱에 SIM 카드 데이터 읽기 권한이 있는지 확인합니다. Android에서는 READ_PHONE_STATE 권한을 확인합니다. iOS에서는 항상 허용(granted) 상태입니다. Web에서는 항상 거부(denied) 상태입니다.
import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.checkPermissions();if (status.readSimCard === 'granted') { console.log('Permission granted');} else { console.log('Permission not granted');}requestPermissions
“requestPermissions” 섹션SIM 카드 정보 접근 권한을 요청합니다.
사용자에게 SIM 카드 데이터 읽기 권한을 요청합니다. Android에서는 READ_PHONE_STATE 권한을 요청합니다. iOS에서는 별도의 요청 없이 항상 허용(granted) 상태입니다. Web에서는 거부(denied) 상태로 유지됩니다.
import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.requestPermissions();if (status.readSimCard === 'granted') { // Now you can call getSimCards() const simCards = await Sim.getSimCards();}타입 참조
“타입 레퍼런스” 섹션GetSimCardsResult
“GetSimCardsResult” 섹션.에서 반환된 결과
export interface GetSimCardsResult { simCards: SimCard[];}PermissionStatus
“PermissionStatus” 섹션권한 확인 또는 요청 결과
export interface PermissionStatus { readSimCard: PermissionState;}SimCard
“SimCard” 섹션SIM 카드 정보
export interface SimCard { /** * Android only: Phone number for this SIM slot, when available. * * @since 1.0.0 */ number?: string;
/** * Android only: Unique subscription identifier. * * @since 1.1.0 */ subscriptionId?: string;
/** * Android only: Physical SIM slot index for this subscription. * * @since 1.1.0 */ simSlotIndex?: number;
/** * iOS only: Indicates whether the carrier supports VoIP. * * @since 1.0.0 */ allowsVOIP?: boolean;
/** * Display name of the cellular service provider. * * On iOS 16.4+ the system may return placeholder values such as `--`. * See https://github.com/jonz94/capacitor-sim/issues/8 for details. * * @since 1.0.0 */ carrierName: string;
/** * ISO 3166-1 alpha-2 country code of the service provider. * * On iOS 16.4+ the system may return an empty string or `--`. * See https://github.com/jonz94/capacitor-sim/issues/8 for details. * * @since 1.0.0 */ isoCountryCode: string;
/** * Mobile Country Code (MCC) of the service provider. * * On iOS 16.4+ the system may return placeholder values such as `65535`. * See https://github.com/jonz94/capacitor-sim/issues/8 for details. * * @since 1.0.0 */ mobileCountryCode: string;
/** * Mobile Network Code (MNC) of the service provider. * * On iOS 16.4+ the system may return placeholder values such as `65535`. * See https://github.com/jonz94/capacitor-sim/issues/8 for details. * * @since 1.0.0 */ mobileNetworkCode: string;}기준 소스
“기준 소스” 섹션이 페이지는 플러그인의 src/definitions.ts에서 생성되었습니다. public API가 업스트림에서 변경되면 동기화를 다시 실행하세요.
Getting Started에서 계속하기
“Getting Started에서 계속하기”라는 제목의 섹션사용 중인 경우 시작하기 대시보드와 API 운영을 계획하려면, 이를 다음 항목과 연결하세요: @capgo/capacitor-sim 사용하기 @capgo/capacitor-sim를 사용하여 네이티브 기능을 구현하려면, API 개요 API Overview의 구현 상세 내용은 소개 Introduction의 구현 상세 내용은 API 키 API Keys의 구현 세부 사항은, 디바이스 Devices의 구현 세부 사항은.