__CAPGO_KEEP_3__

权限 Capacitor 插件

检查并请求 iOS、Android 和 web 的运行时权限,使用一个 PermissionName 枚举和标准化的状态代码

安装

bun add @capgo/capacitor-permissions bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-permissions
  • pnpm add @capgo/capacitor-permissions
  • yarn add @capgo/capacitor-permissions

指南

如何在Capacitor中使用权限

使用@capgo/capacitor-permissions

一个TypeScriptAPI,用于检查和请求iOS、Android和web的运行时权限,具有标准化的状态代码。

安装

bun add @capgo/capacitor-permissions
bunx cap sync

此插件暴露了什么

  • check - 读取一个权限的当前状态而不提示用户。
  • request - 请求用户授权一个权限。
  • checkMultiple - 读取多个权限的状态而不提示用户。
  • requestMultiple - 请求多个权限以序列方式。
  • shouldShowRationale - 是否在Android上显示一个理由前再次请求。
  • openSettings - 打开应用或通知设置以阻止访问。
  • requestPreciseLocation - 在iOS上升级到精确位置,在Android上升级到精细位置。
  • getPluginVersion - 返回平台实现版本标记。

- 示例用法

check - 和 request

import { Permissions } from '@capgo/capacitor-permissions';

export async function ensureCamera(): Promise<boolean> {
  const { status } = await Permissions.check({ permission: 'camera' });
  if (status === 'granted') return true;
  const { status: afterRequest } = await Permissions.request({ permission: 'camera' });
  return afterRequest === 'granted';
}

openSettings

import { Permissions } from '@capgo/capacitor-permissions';

document.getElementById('camera-settings')?.addEventListener('click', async () => {
  const { status } = await Permissions.check({ permission: 'camera' });
  if (status === 'blocked') {
    await Permissions.openSettings({ type: 'application' });
  }
});

- 全部参考

常见问题

权限插件常见问题

如何在Capacitor应用中安装权限插件?

运行 &quot;bun add @capgo/capacitor-permissions&quot; (或 &quot;npm install @capgo/capacitor-permissions&quot;), 然后运行 &quot;bunx cap sync&quot; 以便 iOS 和 Android 项目能够接收到原生 code。从 &quot;@capgo/capacitor-permissions&quot; 导入它到你的应用程序 code 中。

@capgo/capacitor-permissions 与 React、Vue 和 Angular 是否兼容?

是的。Permissions 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 Web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

哪个 Capacitor 版本支持 @capgo/capacitor-permissions?

Capgo 插件遵循 Capacitor 的主要版本:使用与你的 Capacitor 主要版本匹配的插件主要版本(例如插件 v8 与 Capacitor 8)。兼容性表格在 GitHub README 中列出已维护的版本。

@capgo/capacitor-permissions 是否免费和开源?

是的。源代码 code 公开在 GitHub 上,https://github.com/Cap-go/capacitor-permissions/,并且包是免费从 npm 安装的。欢迎 bug 报告和 pull 请求。

我可以在 App Store 审核期间更新使用 Permissions 的 code 吗?

安装或升级插件会更改原生 code,因此需要一个新的商店构建。之后,JavaScript、HTML 和 CSS 的更改可以立即与 Capgo 实时更新一起发布。

不需要等待应用程序审查即可发布权限变更

在您的商店构建中安装插件后,Capgo即刻更新将您的JavaScript、HTML和CSS更改推送给用户。

开始使用Capgo