Mustafa Aljaburi
Mustafa Aljaburi

Reputation: 1775

How to fix "App Store Connect Operation ERROR ITMS-90771"

I'm trying to submit my app to TestFlight, but I keep getting this error.

enter image description here

and this is what I have in my info.plist

enter image description here

How do I fix this?

Upvotes: 152

Views: 85174

Answers (5)

Actually I had to do both of these:

1.First change your info.plist for the related target.

  1. Right Click on your info.plist
  2. Open As
  3. Source Code
  4. Add Following Key lines to the file after main <dict> tag.
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>

enter image description here

2.Second change it from the Target info view

  1. Go to your project target
  2. Click on Info tab
  3. Check if you can see the Permitted Background Task Scheduler Identifier Array type. if you cannot find it, add it using + on a unexpanded menu on the list.
  4. Then expand it > mark should be shown to down direction like in the screenshot. and Then click + on the Permitted Background Task Scheduler Identifier. Make sure its mark is expanded (down chevron). And it will add an item with String Type, and add your bundle ID there... or add $(PRODUCT_BUNDLE_IDENTIFIER) so it will take the bundle identifier automatically.

make sure to use proper bundle identifier convention as mentioned in other answers well.

Thanks for all who have response to this question before, I found them very helpful.

enter image description here

Upvotes: 14

CagriK
CagriK

Reputation: 141

Add "BGTaskSchedulerPermittedIdentifiers" to "info.plist" by paying attention to a few points.

  1. Open info.plist file
  2. Add "Permitted background task scheduler identifiers" below the "Information Property List".(Using add (+) button)

Add "Permitted background task scheduler identifiers"

  1. Add a new item below "Permitted background task scheduler identifiers". (Make sure the arrow is pointing down i mean, it is not like that ">")

Add a new item

  1. Enter your bundleID as a value.

Upvotes: 8

Bijender Singh Shekhawat
Bijender Singh Shekhawat

Reputation: 4524

Add this in your info.plist and then resubmit your app

<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>

or if you use more than one BGTask then use this code

<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
    <string>com.yourCompanyName.appName1</string>
    <string>com.yourCompanyName.appName2</string>
</array>

Upvotes: 226

MGY
MGY

Reputation: 8533

Or Even Better:

<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>

Best

Upvotes: 97

Shreeram Bhat
Shreeram Bhat

Reputation: 3167

As it says you need to add "BGTaskSchedulerPermittedIdentifiers" to your info.plist. You have turned on background task capabilities for your app but did not add corresponding identifiers.

  1. Goto your Info.plist file. Hover over any item + button will be highlighted. Click on it to add a new item.
  2. Copy and paste "BGTaskSchedulerPermittedIdentifiers" under the Information Property List column. This will create an array in the Type column.
  3. Click the add button on the item you just created to add background task identifiers for the array.
  4. Note that it is recommended by apple to mention task background task identifier in reverse domain notation(com.something.name).

In the end, it will look like this,

info plist image

For more info, you can refer to this Apple doc.

Upvotes: 42

Related Questions