diff --git a/build/entitlements.mac.inherit.plist b/build/entitlements.mac.inherit.plist
index 48f7bf5c..0ded0eda 100644
--- a/build/entitlements.mac.inherit.plist
+++ b/build/entitlements.mac.inherit.plist
@@ -8,5 +8,11 @@
com.apple.security.cs.disable-library-validation
+ com.apple.security.device.camera
+
+ com.apple.security.device.microphone
+
+ com.apple.security.device.audio-input
+
diff --git a/build/entitlements.mac.plist b/build/entitlements.mac.plist
index 48f7bf5c..0ded0eda 100644
--- a/build/entitlements.mac.plist
+++ b/build/entitlements.mac.plist
@@ -8,5 +8,11 @@
com.apple.security.cs.disable-library-validation
+ com.apple.security.device.camera
+
+ com.apple.security.device.microphone
+
+ com.apple.security.device.audio-input
+
diff --git a/electron-builder.json5 b/electron-builder.json5
index 52f1843a..a0db9872 100644
--- a/electron-builder.json5
+++ b/electron-builder.json5
@@ -62,8 +62,8 @@
"NSQuitAlwaysKeepsWindows": false,
"NSAudioCaptureUsageDescription": "ScreenCraft needs audio capture permission to record system audio.",
"NSMicrophoneUsageDescription": "ScreenCraft needs microphone access to record voice audio.",
- "NSCameraUseContinuityCameraDeviceType": true,
- "com.apple.security.device.audio-input": true
+ "NSCameraUsageDescription": "ScreenCraft needs camera access for webcam overlay.",
+ "NSCameraUseContinuityCameraDeviceType": true
}
},
"linux": {
diff --git a/electron/main.ts b/electron/main.ts
index dc1b0f9f..403c161a 100644
--- a/electron/main.ts
+++ b/electron/main.ts
@@ -566,12 +566,12 @@ app.on("second-instance", () => {
// Register all IPC handlers when app is ready
app.whenReady().then(async () => {
session.defaultSession.setPermissionCheckHandler((_webContents, permission) => {
- const allowed = ["media", "audioCapture", "microphone"];
+ const allowed = ["media", "audioCapture", "microphone", "camera"];
return allowed.includes(permission);
});
session.defaultSession.setPermissionRequestHandler((_webContents, permission, callback) => {
- const allowed = ["media", "audioCapture", "microphone"];
+ const allowed = ["media", "audioCapture", "microphone", "camera"];
callback(allowed.includes(permission));
});
diff --git a/package.json b/package.json
index e04b573a..98ba9875 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"url": "https://github.com/NewTurn2017/ScreenCraft/issues"
},
"private": true,
- "version": "1.2.1",
+ "version": "1.2.2",
"type": "module",
"scripts": {
"dev": "vite",