ios - plugin - iTunes Connect upload rejected with invalid binary because of missing NSCalendarsUsageDescription

xamarin nscalendarsusagedescription (2)

I'm trying to upload an update for an existing App with XCode 8. After the upload I have received this email:

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

I know about the new privacy policy for iOS 10 and also how to add the needed description. My problem is: I'm not using the Calendar in my app.

Is there a way to find out why Apple thinks I use the Calendar? Maybe it's used by the AdMobSDK from Google?

I've sent an email to Google complaining about this and hopefully it will get resolved in future versions of the AdMob SDK. Until then you can workaround by adding NSCalendarsUsageDescription to your info.plist. I also had to do the same with NSBluetoothPeripheralUsageDescription.

Edit: Very important to also add the NSPhotoLibraryUsageDescription one as well see:!category-topic/google-admob-ads-sdk/ios/UmeVUDrcDaw

Update Sep 18, 2016: Google has released version 7.11.0 which removes the need to have any of these.

If you use the EventKit framework, this can trigger the automated rejection you received from Apple. One solution is to remove that framework.

Many Advertising SDKs, such as Tapjoy (before version 11.8.1) and AdMob, have EventKit as a required framework.

If you have EventKit framework in your application because it is necessary for your advertising SDK, I have seen this rejection avoided with the following modification to the .plist file:

<string>Some ad content may access calendar</string>