由于缺少NSMicrophoneUsageDescription,Apple App审核过程被拒绝

时间:2019-07-22 18:28:39

标签: ios ios-permissions

我创建了一个具有核心c ++组件的框架。该框架使用第三方库,它也可以请求访问麦克风。我可以使用不同的配置构建此框架,从而使我可以删除诸如麦克风访问之类的东西。这样做是为了让我可以在不同的iOS应用中重用该框架,其中一些确实需要麦克风访问,而其他不需要。

当我在删除麦克风代码的情况下构建框架时,即使我删除了所有引用iOS麦克风API的调用,生成的应用程序也一直被Apple审核流程拒绝,要求我指定NSMicrophoneUsageDescription。框架中仍然有使用“麦克风”或“录音”一词的代码,但是这些是我在自己的接口中定义的方法,在这种情况下,这些方法绑定到无操作实现。我还将以下框架用于各种音频播放。也许它们的简单包含会导致拒绝? “ AudioToolbox”,“ AVFoundation”,“ CoreAudio”,“ CoreMedia”,“ CoreVideo”,“ OpenAL”。

不幸的是,Apple没有向我提供他们所发现的详细信息,因此我有点在暗中进行射击。

根据我的研究,遇到此问题的人们最终添加了NSMicrophoneUsageDescription或调整了描述,但就我而言,我实际上想将其完全删除。

这里的设置是否有可能引起问题?自从他们最近弃用OpenAL以来,也许是一个危险信号? 有没有好的工具可以对我的二进制文件进行分析,以查找可能显示为Apple危险信号的API引用?

1 个答案:

答案 0 :(得分:0)

如果您在信息属性列表(https://developer.apple.com/documentation/bundleresources/information_property_list)上查看Apple文档并搜索“ NSMicrophoneUsageDescription”,则AVFoundation将作为与该密钥关联的框架出现。

鉴于此,我将尝试在您的代码中删除AVFoundation和对AVFoundation的所有引用,然后构建您的应用。