What Info.plist entries are required for the Background Processing capability?

Sibalik, Mike 11 Reputation points
2021-04-14T12:01:31.25+00:00

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.

Azure Notification Hubs
Azure Notification Hubs
An Azure service that is used to send push notifications to all major platforms from the cloud or on-premises environments.
310 questions
Xamarin
Xamarin
A Microsoft open-source app platform for building Android and iOS apps with .NET and C#.
5,332 questions
{count} vote

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.