What Info.plist entries are required for the Background Processing capability?
I have a Xamarin.iOS app that receives push notifications from an Azure notification hub. I have Capabilitites > Enable Background Modes checked and Remote Notifications under that checked. When I run locally in debug mode or I deploy an archived release version to TestFlight, the app is able to receive notifications while it is running in the foreground or background, but not when it's not running. If I also check the Background Processing capability, when a notification is received while the app is not running in the foreground or background, the app is launched and ProcessNotification method is called from FinishedLaunching to process the notification.
When I try to distribute the app from XCode to TestFlight in this configuration, I get the following error:
ERROR ITMS-90771: "Missing Info.plist value. The Info.plist key 'BGTaskSchedulerPermittedIdentifiers' must contain a list of identifiers used to submit and handle tasks when 'UIBackgroundModes' has a value of 'processing'. For more information, refer to the Information Property List Key Reference at https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html."
What is required in the Info.plist to get this into TestFlight? The link just takes you to documentation on all the possible keys that can be in the Info.plist file. I've searched for what is required for the Background Processing capability, but the only things I've found are related to using Background Fetch at scheduled intervals rather than Background Processing triggered by an incoming notification.