The v1.2.0 Developer ID re-sign enabled the hardened runtime but the entitlements were missing com.apple.security.device.audio-input. Under the hardened runtime tccd refuses to even prompt for the microphone and denies kTCCServiceMicrophone outright, so the app recorded pure silence and whisper hallucinated text on the empty audio. Adding the resource -access entitlement restores the mic permission prompt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
24 sor
1.1 KiB
XML
24 sor
1.1 KiB
XML
<?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>
|
|
<!-- Not sandboxed: WhisperDictate uses global Accessibility / synthetic
|
|
keystrokes and spawns a bundled CLI, which the App Sandbox forbids.
|
|
Distributed via Developer ID, not the Mac App Store. -->
|
|
<key>com.apple.security.app-sandbox</key>
|
|
<false/>
|
|
<!-- The app bundles whisper-cli + ggml/whisper dylibs in the app. Disabling
|
|
library validation lets the process tree load them without tripping the
|
|
hardened runtime's same-Team-ID check. -->
|
|
<key>com.apple.security.cs.disable-library-validation</key>
|
|
<true/>
|
|
<!-- Hardened-runtime resource-access entitlement. REQUIRED for microphone
|
|
access under the hardened runtime: without it tccd refuses to even
|
|
prompt and denies kTCCServiceMicrophone outright, so the app records
|
|
silence (and whisper hallucinates on the empty audio). Must be present
|
|
on any Developer ID / notarized build. -->
|
|
<key>com.apple.security.device.audio-input</key>
|
|
<true/>
|
|
</dict>
|
|
</plist>
|