由于缺少NSCalendarsUsageDescription,iTunes Connect上传被无效的二进制文件拒绝

Ste*_*fan 15 ios ios10

我正在尝试使用XCode 8上传现有应用程序的更新.上传后我收到了这封电子邮件:

"此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSCalendarsUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据."

我知道iOS 10的新隐私政策以及如何添加所需的描述.我的问题是:我没有在我的应用程序中使用日历.

有没有办法找出为什么Apple认为我使用日历?也许它是由谷歌的AdMobSDK使用的?

Zac*_*ake 15

如果您使用EventKit框架,这可能会触发您从Apple收到的自动拒绝.一种解决方案是删除该框架.

许多广告SDK,例如Tapjoy(版本11.8.1之前)和AdMob,都将EventKit作为必需的框架.

如果您的应用程序中有EventKit框架,因为它对您的广告SDK是必要的,我已经看到通过对.plist文件的以下修改避免了这种拒绝:

<key>NSCalendarsUsageDescription</key>
<string>Some ad content may access calendar</string>
Run Code Online (Sandbox Code Playgroud)


Ste*_*hen 14

我已向Google发送了一封电子邮件,抱怨此问题,并希望在未来版本的AdMob SDK中得到解决.在此之前,您可以通过向info.plist添加NSCalendarsUsageDescription来解决此问题.我还必须对NSBluetoothPeripheralUsageDescription做同样的事情.

编辑:非常重要的是还要添加NSPhotoLibraryUsageDescription,请参阅:https://groups.google.com/forum/# !category-topic/google-admob-ads-sdk/ios/UmeVUDrcDaw

2016年9月18日更新:Google已发布版本7.11.0,无需使用其中任何一项.

  • Google确认AdMob SDK存在问题:https://groups.google.com/forum/# !category-topic/google-admob-ads-sdk/ios/y-IxErXawxg (2认同)