Warm tip: This article is reproduced from serverfault.com, please click

Xamarin

发布于 2020-05-25 17:52:56

I'm developing an app using Xamarin Forms (Android and iOS). I have the first app version ready, and I'm trying to upload it to TestFlight in order to test the app with different users. In order to reduce the ipa size, I'm setting the linker behavior to "Link framework SDKs only".

enter image description here

After reducing the ipa size, I tried to upload the app to test flight but I got the next error message:

  • ITMS-90683: Missing Purpose String in Info.plist - 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.
  • ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability.
  • ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationAlwaysUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data.
  • ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data.

The problem is that I'm not using none of the items mentioned in the list. I'm not using WebView inside my app and I'm not requesting permissions of Location or Calendar. I know that those errors will disappear once I add the permission to inflo.plist, but I'm not using Location or Calendar.

How can I modify my application in order to remove those errors from TestFlight platform?

How can I notice which library (or NuGet) that I'm using is requesting any of those items?

Questioner
Dani Garcia
Viewed
0
shiva nadar 2020-05-26 04:48:29

To get rid of this

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability.

Soultion - https://docs.microsoft.com/en-us/xamarin/ios/user-interface/controls/webview#uiwebview-deprecation

For the other issues

Soultion - https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/security-privacy

You need to manually set a message for the device features that you will be consuming in your app.

For example Camera,Location,Calendar etc