Lars Blumberg
Lars Blumberg

Reputation: 21371

App rejected: Systematic way to find (cocoapod) library that accesses privacy-sensitive data

iTunes Connect just told me that

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.

My app however doesn't make use of the microphone. How can I systematically find out which of my (cocoapods) dependencies are responsible for that?

There are >20 dependencies and I'd like to avoid manually removing dependencies (and uncommenting my code using it) just to find which one of them causes the rejection since build time + submitting + "waiting for processing" takes a lot of time.

Upvotes: 3

Views: 258

Answers (2)

Gereon
Gereon

Reputation: 17844

For closed-source Pods, use nm to show the symbol tables of the shared libraries. In this case, the command would be nm Pods/google-cast-sdk/GoogleCastSDK-Public-3.2.0-Release/Goog‌​leCast.framework/Goo‌​gleCast, which lists a reference to AVAudioSession.

Upvotes: 6

Dharani
Dharani

Reputation: 44

In your app's plist, add "NSMicrophoneUsageDescription" and add description for that.

Upvotes: -3

Related Questions