Skip to content

ayangweb/tauri-plugin-macos-permissions

Repository files navigation

tauri-plugin-macos-permissions

This plugin only works on tauri v2, if you need the v1 plugin, feel free to submit a PR!

Support for checking and requesting macos system permissions.

iShot_2025-03-20_12.48.49.mp4

Install

cargo add tauri-plugin-macos-permissions

You can install the JavaScript Guest bindings using your preferred JavaScript package manager:

pnpm add tauri-plugin-macos-permissions-api

Usage

src-tauri/src/lib.rs

pub fn run() {
    tauri::Builder::default()
+       .plugin(tauri_plugin_macos_permissions::init())
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

src-tauri/capabilities/default.json

{
    ...
    "permissions": [
        ...
+       "macos-permissions:default"
    ]
}

If you need to access the microphone or camera permissions, please update src-tauri/Info.plist

<?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>NSMicrophoneUsageDescription</key>
+    <string>Describe why your app needs to use microphone permission</string>
+    <key>NSCameraUsageDescription</key>
+    <string>Describe why your app needs to use camera permissions</string>
</dict>
</plist>

Afterwards all the plugin's APIs are available through the JavaScript guest bindings:

import { checkAccessibilityPermission } from "tauri-plugin-macos-permissions-api";

const authorized = await checkAccessibilityPermission();
console.log(authorized); // true

Methods

Method Description
checkAccessibilityPermission Check accessibility permission.
requestAccessibilityPermission Request accessibility permission.
checkFullDiskAccessPermission Check full disk access permission.
requestFullDiskAccessPermission Request full disk access permission.
checkScreenRecordingPermission Check screen recording permission.
requestScreenRecordingPermission Request screen recording permission.
checkMicrophonePermission Check microphone permission.
requestMicrophonePermission Request microphone permission.
checkCameraPermission Check camera permission.
requestCameraPermission Request camera permission.

Example

git clone https://github.com/ayangweb/tauri-plugin-macos-permissions.git
pnpm install

pnpm build

cd examples/tauri-app

pnpm install

pnpm tauri dev

Thanks

Who's Use It

  • EcoPaste - Open source cross-platform clipboard management tool.

  • Coco AI - Search, Connect, Collaborate, Your Personal AI Search and Assistant, all in one space.