I have a very simple one page app that uses plugin.share to add a functionality of being able to copy some text to the device's clipboard. That is the only functionality that I use from that plugin and I implemented it like below.
private async void btnCopyResults_Clicked(object sender, EventArgs e)
{
if (!CrossShare.Current.SupportsClipboard)
{
await DisplayAlert(ERROR_TITLE, "We are having some issues accessing your clipboard" +
" to copy the results", GENERAL_ALERT_DISMIS);
return;
}
else
{
bool isCopied = await CrossShare.Current.SetClipboardText(lblResult.Text.Trim());
if (isCopied)
{
await DisplayAlert("Success", "Text copied successfully!", "Ok");
}
}
}
When I send the IPA using the Application Loader everything passes but then I get an automated email like below.
I believe this plugin is the reason I am getting these but I'm not sure how to proceed or fix this as I do not need any of these permissions listed in the email below.
Furthermore, I believe all this started when I changed the Linker Behavior away from "Don't Link". It was "Don't Link" by default and I was not getting these emails but once I changed it I started getting this email for every build. I even unistalled the plugin and removed bin/ obj/ folders and installed it back and rebuild everything but nothing seems to be working.
Is there a location where I can explicitly set what permissions my app needs?
When I look in the Info.plist file those keys are not there and that is a good thing because I do not need those permissions. I'm just not sure where are they getting set at and why does my app think that it needs those.
Dear developer,
We have discovered one or more issues with your recent delivery for "---". To process your delivery, the following issues must be corrected:
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.
Though you are not required to fix the following issues, we wanted to make you aware of them:
Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor's Capabilities pane, or manually add the entitlement to your entitlements file. For more information, see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1.
Once the required corrections have been made, you can then redeliver the corrected binary.
Regards,
The App Store team