| Crates.io | tauri-plugin-macos-permissions |
| lib.rs | tauri-plugin-macos-permissions |
| version | 2.3.0 |
| created_at | 2024-11-18 04:40:35.336589+00 |
| updated_at | 2025-05-06 13:39:26.567613+00 |
| description | Support for checking and requesting macos system permissions. |
| homepage | |
| repository | https://github.com/ayangweb/tauri-plugin-macos-permissions |
| max_upload_size | |
| id | 1451770 |
| size | 244,957 |
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.
https://github.com/user-attachments/assets/acb63744-9773-420a-8a96-6a485c94f5d6
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
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
| 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. |
checkInputMonitoringPermission |
Check input monitoring permission. |
requestInputMonitoringPermission |
Request input monitoring permission. |
git clone https://github.com/ayangweb/tauri-plugin-macos-permissions.git
pnpm install
pnpm build
cd examples/tauri-app
pnpm install
pnpm tauri dev
Use macos-accessibility-client to check and request accessibility permission.
Use FullDiskAccess to check full disk access permission.
Use objc2 to check and request microphone or camera permissions.