From d31bc63b6a389151f91a82c6dbf2e5da3363ad2c Mon Sep 17 00:00:00 2001 From: Alan Wizemann Date: Tue, 31 Mar 2026 12:56:49 -0400 Subject: [PATCH] Add microphone permission for voice chat Hermes voice mode needs mic access when running as a Scarf subprocess. - Added NSMicrophoneUsageDescription to Info.plist keys - Created entitlements file with com.apple.security.device.audio-input - Applied to both Debug and Release configurations macOS will prompt for mic permission on first push-to-talk use. Co-Authored-By: Claude Opus 4.6 (1M context) --- scarf/scarf.xcodeproj/project.pbxproj | 4 ++++ scarf/scarf/scarf.entitlements | 8 ++++++++ 2 files changed, 12 insertions(+) create mode 100644 scarf/scarf/scarf.entitlements diff --git a/scarf/scarf.xcodeproj/project.pbxproj b/scarf/scarf.xcodeproj/project.pbxproj index cc82d7d..f890b07 100644 --- a/scarf/scarf.xcodeproj/project.pbxproj +++ b/scarf/scarf.xcodeproj/project.pbxproj @@ -404,6 +404,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; + CODE_SIGN_ENTITLEMENTS = scarf/scarf.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; @@ -415,6 +416,7 @@ INFOPLIST_KEY_CFBundleDisplayName = Scarf; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "Scarf uses the microphone for Hermes voice chat."; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", @@ -438,6 +440,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; + CODE_SIGN_ENTITLEMENTS = scarf/scarf.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; @@ -449,6 +452,7 @@ INFOPLIST_KEY_CFBundleDisplayName = Scarf; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "Scarf uses the microphone for Hermes voice chat."; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", diff --git a/scarf/scarf/scarf.entitlements b/scarf/scarf/scarf.entitlements new file mode 100644 index 0000000..b572d9c --- /dev/null +++ b/scarf/scarf/scarf.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.device.audio-input + + +