快速入门
复制一条配置 prompt,包含安装步骤和该插件的完整 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 辅助设置来安装插件。使用以下命令将 Capgo skills 添加到你的 AI 工具中:
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.如果你更倾向于手动设置,请运行以下命令安装插件,并参考下文针对各平台的具体说明:
bun add @capgo/capacitor-simbunx cap sync导入
“导入”章节import { Sim } from '@capgo/capacitor-sim';快速入门
“快速开始”章节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”章节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”章节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.ts在 GitHub 仓库中。
API 概览
“API 概览”章节getSimCards
“getSimCards” 章节获取设备的 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 端状态始终为已授权。 Web 端状态始终为已拒绝。
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 端无需提示,状态始终为已授权。 Web 端状态保持为已拒绝。
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当上游的公共 API 发生变化时,请重新运行 sync。
继续阅读入门指南
标题为“从入门指南继续”的章节如果你正在使用 快速入门 来规划 dashboard 和 API 操作,请将其连接至 使用 @capgo/capacitor-sim 在“使用 @capgo/capacitor-sim”中实现原生能力, API 概览 关于 API 概览中的实现细节, 简介 有关 Introduction 中的实现细节, API 密钥 有关 API Keys 中的实现细节,以及 设备 有关 Devices 中的实现细节。