When submitting a Tapjoy iOS app you may get a warning email from Apple like the following:
We have discovered one or more issues with your recent delivery for "YourAppName". To process your delivery, the following issues must be corrected:
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.
To fix the error, you can do one of two things:
- Update your app to Tapjoy iOS SDK 11.8.1 (Releasing mid-September 2016) or higher, and remove EventKit and EventKitUI frameworks from your app (assuming they are not needed by other parts of your application). Then rebuild and re-submit your application. EventKit and EventKitUI are no longer required for Tapjoy iOS SDK 11.8.1 and higher, and inclusion of these frameworks triggers the Apple automated rejection quoted above.
- For those on Tapjoy iOS SDKs earlier than 11.8.1, or who need the EventKit and EventKitUI frameworks for other reasons, add the following to your .plist, then rebuild and resubmit your app:
<key>NSCalendarsUsageDescription</key> <string>Some ad content may access calendar</string>
What is causing this error?
This error happens because Apple has started requiring justification for accessing the user’s calendar. The EventKit framework accesses the calendar, and if it is included without a usage description in the .plist file, it will trigger an automatic rejection from Apple.
Note that in Tapjoy iOS SDK 11.8.1 and higher, EventKit and EventKitUI are no longer required frameworks for Tapjoy.