From 4cdf1f5eb16c263edc7d149ab5d0dc1e30aec155 Mon Sep 17 00:00:00 2001
From: ayangweb <75017711+ayangweb@users.noreply.github.com>
Date: Fri, 22 May 2026 14:26:19 +0800
Subject: [PATCH] feat: add macOS entitlements and configuration files for app
distribution (#1070)
---
src-tauri/Entitlements.Distribution.plist | 25 ++++++++
src-tauri/Entitlements.plist | 35 +++++-----
src-tauri/Info.plist | 78 +++++++++++++----------
src-tauri/tauri.appstore.conf.json | 3 +-
src-tauri/tauri.macos.conf.json | 8 +++
5 files changed, 94 insertions(+), 55 deletions(-)
create mode 100644 src-tauri/Entitlements.Distribution.plist
create mode 100644 src-tauri/tauri.macos.conf.json
diff --git a/src-tauri/Entitlements.Distribution.plist b/src-tauri/Entitlements.Distribution.plist
new file mode 100644
index 00000000..d069f496
--- /dev/null
+++ b/src-tauri/Entitlements.Distribution.plist
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ com.apple.security.network.client
+
+
+ com.apple.security.device.audio-input
+
+
+ com.apple.security.device.camera
+
+
+ com.apple.security.automation.apple-events
+
+
+ com.apple.security.cs.allow-jit
+
+
+ com.apple.security.cs.disable-library-validation
+
+
+
\ No newline at end of file
diff --git a/src-tauri/Entitlements.plist b/src-tauri/Entitlements.plist
index 8b794be6..5879c950 100644
--- a/src-tauri/Entitlements.plist
+++ b/src-tauri/Entitlements.plist
@@ -2,30 +2,25 @@
- com.apple.security.cs.allow-jit
-
- com.apple.security.cs.allow-unsigned-executable-memory
-
- com.apple.security.cs.disable-library-validation
-
- com.apple.security.cs.allow-dyld-environment-variables
-
- com.apple.security.automation.apple-events
-
- com.apple.security.device.audio-input
-
- com.apple.security.device.camera
-
- com.apple.security.network.client
-
- com.apple.security.inherit
-
com.apple.security.app-sandbox
+
+ com.apple.security.inherit
+
+
+ com.apple.security.network.client
+
+
+ com.apple.security.device.audio-input
+
+
+ com.apple.security.device.camera
+
+
com.apple.application-identifier
6GVZT94974.rs.coco.app
+
com.apple.developer.team-identifier
6GVZT94974
-
-
+
\ No newline at end of file
diff --git a/src-tauri/Info.plist b/src-tauri/Info.plist
index d81e5b92..ef71e94d 100644
--- a/src-tauri/Info.plist
+++ b/src-tauri/Info.plist
@@ -2,45 +2,55 @@
- NSCameraUsageDescription
- Request camera access for WebRTC
- NSMicrophoneUsageDescription
- Request microphone access for WebRTC
+ CFBundleIdentifier
+ rs.coco.app
- CFBundleIdentifier
- rs.coco.app
- CFBundleExecutable
+ CFBundleExecutable
coco
- NSPrefPaneIconLabel
- coco-ai
- LSUIElement
+ NSPrefPaneIconLabel
+ coco-ai
+
+ LSUIElement
- ITSAppUsesNonExemptEncryption
-
+ ITSAppUsesNonExemptEncryption
+
- CFBundleURLTypes
-
-
- CFBundleURLName
- rs.coco.app
- CFBundleURLSchemes
-
- coco
-
-
-
-
- NSMicrophoneUsageDescription
- Coco AI needs access to your microphone for voice input and audio recording features.
- NSCameraUsageDescription
- Coco AI requires camera access for scanning documents and capturing images.
- NSSpeechRecognitionUsageDescription
- Coco AI uses speech recognition to convert your voice into text for a hands-free experience.
- NSAppleEventsUsageDescription
- Coco AI requires access to Apple Events to enable certain features, such as opening files and applications.
- NSAccessibility
-
+ CFBundleURLTypes
+
+
+ CFBundleURLName
+ rs.coco.app
+
+ CFBundleURLSchemes
+
+ coco
+
+
+
+
+ NSMicrophoneUsageDescription
+
+ Coco AI needs access to your microphone for voice input and audio recording features.
+
+
+ NSCameraUsageDescription
+
+ Coco AI requires camera access for scanning documents and capturing images.
+
+
+ NSSpeechRecognitionUsageDescription
+
+ Coco AI uses speech recognition to convert your voice into text for a hands-free experience.
+
+
+ NSAppleEventsUsageDescription
+
+ Coco AI requires access to Apple Events to enable certain features, such as opening files and applications.
+
+
+ NSAccessibility
+
\ No newline at end of file
diff --git a/src-tauri/tauri.appstore.conf.json b/src-tauri/tauri.appstore.conf.json
index 6a3007eb..3e07c7da 100644
--- a/src-tauri/tauri.appstore.conf.json
+++ b/src-tauri/tauri.appstore.conf.json
@@ -1,4 +1,5 @@
{
+ "identifier": "rs.coco.app",
"bundle": {
"macOS": {
"entitlements": "./Entitlements.plist",
@@ -7,4 +8,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src-tauri/tauri.macos.conf.json b/src-tauri/tauri.macos.conf.json
new file mode 100644
index 00000000..e4623fd6
--- /dev/null
+++ b/src-tauri/tauri.macos.conf.json
@@ -0,0 +1,8 @@
+{
+ "identifier": "rs.coco.app",
+ "bundle": {
+ "macOS": {
+ "entitlements": "./Entitlements.Distribution.plist"
+ }
+ }
+}