Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing NSCalendarsUsageDescription key with purpose string after using Telerik library

I used Telerik list view in my forms project. Yesterday, I uploaded it to App Store connect via Test Flight. It got uploaded from Application Loader but got rejected from apple with this email:

App Store Connect

Dear Developer, We identified one or more issues with a recent delivery for your app, "Local183". Please correct the following issues, then upload again. "Missing Purpose String in Info.plist File. Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSCalendarsUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting spring 2019, all apps submitted to the App Store that access user data will be required to include a purpose string.If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)."

Best regards,

The App Store Team

I have not used any calendar accessing code anywhere in my code but still they raised such issue I don't know why? But this never happened before implementing Telerik as I've already uploaded 2-3 versions of my app to app store connect and it never failed.

like image 996
Nidhi Sood Avatar asked Dec 17 '22 21:12

Nidhi Sood


1 Answers

Well, it's very simple actually.

Your application (PCL) must be having a reference to Telerik.XamarinForms.Input since this dll's is being used by your PCL apple assumes that you have been using this in your application and hence must have rejected it from their side

How to solve this

First, there is nothing you can do if Apple thinks you need a calendar permission then you need a calendar permission

How to add the permission in your info.plist file add the following permission:

<key>NSCalendarsUsageDescription</key>
<string>*your_app_name* would like to access your calender</string>

After adding this everything should be fine

In case of queries revert.

like image 132
FreakyAli Avatar answered Dec 29 '22 12:12

FreakyAli