iTunes Connect upload rejected with invalid binary because of missing NSCalendarsUsageDescription

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:

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

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: https://groups.google.com/forum/#!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.

Tags:

Ios

Ios10