capacitor-personal-voice-authorization
v0.1.1
Published
Capacitor plugin to request and check Apple's Personal Voice authorization (iOS 17+).
Maintainers
Readme
Capacitor Personal Voice Authorization
Capacitor plugin that bridges the AVSpeechSynthesizer personal voice authorization APIs introduced in iOS 17 so you can request and inspect Personal Voice availability from JavaScript.
Installation
npm install capacitor-personal-voice-authorization
npx cap syncThe plugin only implements iOS. On other platforms calls resolve with { status: 'unsupported' }.
Usage
import { PersonalVoiceAuthorization } from 'capacitor-personal-voice-authorization';
const { status } = await PersonalVoiceAuthorization.getAuthorizationStatus();
if (status === 'notDetermined') {
const result = await PersonalVoiceAuthorization.requestAuthorization();
console.log(result.status);
}Possible status strings:
authorizeddeniednotDeterminedunsupportedunknown
Where unsupported indicates either an iOS version below 17.0 or a platform without Personal Voice.
iOS Setup
No additional configuration is necessary, but Apple recommends adding a usage description to Info.plist so the Personal Voice prompt includes context for the user:
<key>NSSpeechRecognitionUsageDescription</key>
<string>Explain why you need access to the user's Personal Voice.</string>The plugin internally checks API availability and returns unsupported on older systems or simulators that do not expose Personal Voice.
Building locally
npm install
npm run buildnpm run buildcompiles TypeScript todist/esmand produces CommonJS & IIFE bundles indist/.
License
MIT
