104

Today I started to receive this error with fastlane and Xcode:

ERROR ITMS-90783: "Missing bundle display name. The Info.plist key CFBundleDisplayName is missing or has an empty value in the bundle with bundle identifier 'com.id'."

It was ok and I didn't remove this property. I think this is a bug on Apple's side.

Does anyone have the same issue and how did you fix it?

shim
  • 9,289
  • 12
  • 69
  • 108
Nike Kov
  • 12,630
  • 8
  • 75
  • 122
  • Hi @NikKov, I think you can change value ${PROJECT.ROOT} in target info.plist to your bundle identifier manually. Just copy your bundleId manually and paste it. – emrcftci Jun 28 '19 at 13:15
  • It seems that it's no longer required. I forgot to add it for one of my updates and the submission went through to in review. – Oded Jul 28 '19 at 19:44

7 Answers7

156

Just add a new property to info.plist:

enter image description here

<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>
Alexey Shikov
  • 1,730
  • 1
  • 12
  • 11
  • 1
    Yeah this works, and it won't work even I have CFBundleDisplayName in 'InfoPlist.strings', so it must be Apple's invisible modification in server. – Roxasora Jul 02 '19 at 04:18
  • @Jameo can you point us to the requirement? Is it from Apple or fastlane? – dev Jul 03 '19 at 14:20
  • @dev this seems to be an apple requirement. Apple seems to be doing some changes to AppStoreConnect related to iOS 13 – Jameo Jul 03 '19 at 16:50
  • Is this documented by Apple anywhere? – Kampai Jul 04 '19 at 08:55
  • I see that both $(PRODUCT_NAME) and ${PRODUCT_NAME} are defined in info.plist generated by Xcode. Which is valid or are they both valid? – Igotit Jul 04 '19 at 09:53
  • Why this line must be add? i mean where this bundle use? – Genevios Jul 06 '19 at 09:36
12

Open "info.plist" from your project folder.

And add key:"Bundle display name" or CFBundleName

and write value:"your app name". or add product name like this $(PRODUCT_NAME)

Key value example

<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>

Then your problem will be solved!

enter image description here

Vivek
  • 4,916
  • 35
  • 40
11

In Xcode, you could add "Display Name" by following the illustration below. enter image description here

Lai Lee
  • 1,054
  • 14
  • 17
10

I am having the problem too. Although a newly project has this in its info.plist:

<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>

That broke in the last few days for me. Now I hard code CFBundleName to the application name and that seems to work.

Tom Condon
  • 139
  • 1
  • 1
  • 4
6

Just go to the Info.plist and check if there is an entry for CFBundleDisplayName If it is not there then : Open source code of your Info.plist and add this

<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>

Now try archiving, you will succeed this time. This is a new requirement introduced 5-7 days back.

Cheers!!

Ankit Kumar Gupta
  • 3,994
  • 4
  • 31
  • 54
4

I was going through the answers here and when I checked my file it looked to be what it supposed to be, I had not touched the info.plist file in days. Then I noticed something, instead of $(PRODUCT_NAME) I had ${PRODUCT_NAME). Weirdly there was a curly bracket. Since I'm using 2 info.plist files for different targets, I decided to check if the other one also contains the curly bracket and it did.

3

I'm getting this error, too. Wasn't happening a week ago. I tried entering in a bundle name in the Bundle Identifier but that didn't work. Had to actually paste in $(PROJECT.ROOT) in the Bundle Identifier item of the info.plist, re-archive and then upload to the app store.

If that doesn't work, there's another possible solution. It appears that Apple may be requiring the plist entry "Bundle name" to be added with a value of $(PRODUCT_NAME). If you don't have that in your info.plist, you will need to add it, then try again.

Will Buffington
  • 1,048
  • 11
  • 13