You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Option to build without recording on iOS, so playback-only apps don't need NSMicrophoneUsageDescription #1350
I use react-native-audio-api 0.13.6 only for playback: sound effects and music, with iosCategory: 'ambient'. The app never records and never calls requestRecordingPermissions().
App Store Connect still rejects the build:
ITMS-90683: Missing purpose string in Info.plist. Your app's code references one or more APIs that access sensitive user data [...] The Info.plist file should contain a NSMicrophoneUsageDescription key [...]
Apple's static scan finds the recording code that is always compiled in, for example:
The fix today is adding a microphone purpose string (through iosMicrophonePermission or ios.infoPlist) to an app that never uses the microphone. This works, but it's confusing for developers and it shows up in privacy reviews.
Proposal: add an opt-out like disableFFmpeg, for example disableRecording in the config plugin, which would set ENV['DISABLE_AUDIOAPI_RECORDING'] = '1' in the Podfile. The podspec would then exclude the recorder sources and compile out the permission and input-node code paths behind a preprocessor flag. On Android, the same option could drop RECORD_AUDIO, if the library adds it.
The recording JS APIs could throw a clear error when the native side was built without recording.
Activity