Apple rejected XForms app

Apple rejected my Xamarin.Forms application for the following reasons:

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.
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.
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSAppleMusicUsageDescription key with a string value explaining to the user how the app uses this data.
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSSiriUsageDescription key with a string value explaining to the user how the app uses this data.
Once these issues have been corrected, you can then redeliver the corrected binary.

The problem is that I'm not using any of those features and therefore have not included the NSblah descriptions in my Info.plist. Is there something special that I need to do for Xamarain.Forms projects that target iOS 10?

Thanks!

Best Answer

Answers

  • AdrianKnightAdrianKnight USMember ✭✭✭✭

    If you are not using those things, your dependencies might still. See https://forums.developer.apple.com/thread/62229 for an example.

  • DavidDancyDavidDancy AUMember ✭✭✭✭

    @PaulHazlett I had to add a few of those strings in our app too, much to my annoyance. The consolation is that they only pop up if the app actually tries to use the feature. If it's dormant (perhaps the code references it but never executes that path because of configurations etc) the user will never see it.

  • lassanalassana BYMember ✭✭

    Same problem with "NSCalendarsUsageDescription", I have no idea why it appears - my app doesn't use iOS calendar and the linker setting is "Link SDK assemblies only".

  • KevinGossKevinGoss USMember ✭✭

    I am having a similar problem myself. I am not using the assets/features, but I get rejected because of the items below. How do I fix this without having to say the app uses the features?

    Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.
    Missing Info.plist key - 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.
    Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.
    Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSAppleMusicUsageDescription key with a string value explaining to the user how the app uses this data.
    Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSSiriUsageDescription key with a string value explaining to the user how the app uses this data.

    Thanks!

  • DaveHuntDaveHunt USMember ✭✭✭✭✭
    edited February 2017

    @KevinGoss - have you checked your linker settings to make sure Link All or Link SDKs only is selected?

  • KevinGossKevinGoss USMember ✭✭

    Yes. It is linking only SDK.

  • DaveHuntDaveHunt USMember ✭✭✭✭✭

    Have you tried Link All? It's also possible one or more of your 3rd party libraries have references to those features.

  • KevinGossKevinGoss USMember ✭✭

    Yes I tried Link All as well. I just put the messages in the info.plist saying that the app doesn't use the features and it let me upload. It may be due to the use of Telerik controls. I would like to get this fixed, but it isn't urgent as I have a workaround. I am just wondering if they will reject the app because of it. Thanks.

  • JamesMontemagnoJamesMontemagno USForum Administrator, Xamarin Team, Developer Group Leader Xamurai

    If a library that is used has reference to some code in their scan it may think your app is using it. Easiest thing to do is go in and add those settings.

  • Ashish_sharmaAshish_sharma INMember ✭✭✭

    @DaveHunt said:
    Have you tried Link All? It's also possible one or more of your 3rd party libraries have references to those features.

    yes but it not solve.

Sign In or Register to comment.