由于 GoogleSignIn 和 AdMob 的原因,提交应用程序时 iOS10GM 发布错误“应用程序试图访问隐私敏感数据而没有使用说明”

我刚刚开始面对 iOS 10 GM 版本的问题,我收到一封电子邮件说:

为了处理您的交付,必须纠正以下问题:

这个应用程序试图访问隐私敏感的数据,没有使用说明。应用程序的 Info.plist 必须包含一个带有字符串值的 NSCameraUsageDescription 键,用于向用户解释应用程序如何使用这些数据。

一旦进行了所需的更正,您就可以重新交付已更正的二进制文件。

问候,

应用程序商店团队

我正在使用谷歌谷歌登录。我没有使用 Firebase,但是当我用可可豆安装 GoogleSignIn 时,我在日志中看到它自动安装了 Firebase。

除了定义这些键之外,我们还能做些什么呢? 因为我的应用程序与相机/照片等无关,因此我不想让用户认为我们在使用它们。

我注意到其他人也面临着这个问题: Https://forums.developer.apple.com/thread/62229

42690 次浏览

有没有可能 Google 框架使用了一些额外的系统框架,这些框架需要用户权限(即用户位置) ,而您忘记在。归档!再检查一遍。

在 iOS10中,一些使用权限描述成为强制性的。

在 iOS 10中,苹果要求在 Info.plist 中定义任何需要弹出窗口的功能的用法描述。参见 http://useyourloaf.com/blog/privacy-settings-in-ios-10/

在测试期间,如果没有设置使用说明,应用程序会在显示提示时崩溃。

看起来 iTunes Connect 验证工具已经改变了,以便在应用程序中查找与权限相关对象关联的类的引用。如果没有 Info.plist 条目,则拒绝二进制文件。

我在自己的一个应用程序中看到了这一点,在这个应用程序中,我在一个库中使用了一个旧的 helper 方法来检测摄像头是否存在。尽管应用程序从未调用过这个方法,但它被链接到了我的二进制文件中,因为我在同一个文件中使用了另一个方法。该应用程序没有使用摄像头,因此没有定义 Info.plist 条目。结果被拒绝了。我只是删除了我的 helper 方法,并将检查转移到使用它的其他应用程序中。

然而,AdMob 似乎有对日历的引用,所以我有一个应用程序使用广告,并没有使用日历本身,无法提交。谢谢 Google!

编辑: 请参考上面的答案 < a href = “ https://stackoverflow. com/a/39476283/1634905”> https://stackoverflow.com/a/39476283/1634905 上面列出了谷歌的官方解决方案。请注意,解决方案缺少一个额外的关键,也将需要: NSCameraUsageDescription

我使用的解决方案: 谷歌的 AdMob 和 GoogleSignIn 框架会自动安装 firebase,它会使用这样的权限,即使应用程序从来没有这样做。在我在 info.plist中定义了 NSCameraUsageDescription之后,它让我毫无问题地提交,希望应用程序不会提示用户,这样他们也不会看到文本。

这里有一个来自 Google 的完整解决方案的链接: Https://groups.google.com/d/msg/google-admob-ads-sdk/umevudrcdaw/hixr0kjuagaj

更多的信息在那个链接,但 TL; DR 版本是你必须添加三个项目到你的列表:

<key>NSCalendarsUsageDescription</key>
<string>Advertisement would like to create a calendar event.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Advertisement would like to store a photo.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Advertisement would like to use bluetooth.</string>

如果您是 ESRI 的 ArcGIS.Framework,请确保添加了这个键。

在 iOS10中,如果你在应用程序中使用相机或照片库,你需要添加下图中提到的按键enter image description here

您必须获得 Info.plit.gotoInfo.Plist 中 Camera 的许可,并添加以下代码。

Key       :  Privacy - Camera Usage Description
Value     :  $(PRODUCT_NAME) camera use

看这个参考文献: enter image description here

这里是所有的隐私键,我们需要手动添加到 Info.plist 与简短的描述他们。

•       Bluetooth Sharing – NSBluetoothPeripheralUsageDescription
•       Calendar – NSCalendarsUsageDescription
•       CallKit – NSVoIPUsageDescription
•       Camera – NSCameraUsageDescription
•       Contacts – NSContactsUsageDescription
•       Health – NSHealthShareUsageDescription & NSHealthUpdateUsageDescription
•       HomeKit – NSHomeKitUsageDescription
•       Location – NSLocationUsageDescription, NSLocationAlwaysUsageDescription, NSLocationWhenInUseUsageDescription
•       Media Library – NSAppleMusicUsageDescription
•       Microphone – NSMicrophoneUsageDescription
•       Motion – NSMotionUsageDescription
•       Photos – NSPhotoLibraryUsageDescription
•       Reminders – NSRemindersUsageDescription
•       Speech Recognition – NSSpeechRecognitionUsageDescription
•       SiriKit – NSSiriUsageDescription
•       TV Provider – NSVideoSubscriberAccountUsageDescription