App rejected because of name

Apple just rejected an update my app with this reason:

We noticed that the app name to be displayed on the App Store and the app name displayed on the device do not sufficiently match, which makes it difficult for users to find the app they just downloaded.

I have localizations for - among others - USA and Germany and they say they see the English name in the store and the German name on the device. The app has been online for two years and this has not been an issue before. I didn’t even know I can influence the name that’s shown on the device.

Any ideas?

That can be set in Info.plist

CFBundleDisplayName | Apple Developer Documentation
The user-visible name for the bundle, used by Siri and visible on the iOS Home screen.

And it can be localized in the “per language” InfoPlist.strings

Set the CFBundleDisplayName in Info.plist and localize the key CFBundleDisplayName = "Home Name" in InfoPlist.strings.

I just can’t tell you how to do this with Xojo (all my iOS projects are done with Xcode), but I guess there is a way you can set these localized Info.plist values with Xojo, too.

1 Like

Thank you! It pointed me in the right direction.

For those interested, this is the solution:
In the info.plist I added the key

“Application has localized name” as boolean = 1

In Xcode I created a dummy project, added all the localized languages to the application, added a strings file which I named InfoPlist.strings. I then localized this file to all the languages. In each file I set the app name specific to the language like this:

“CFBundleDisplayName” = “…” ← this should be the localized app name

Xcode will create a specific folder for each localization. In Xojo I copied these folders into the app’s Resource folder. At least on the Simulator it works and the localized name is now being displayed. This will probably work without Xcode but I would think the folder names are important, for example for Simplified Chinese the folder name is zh-Hans.lproj.

Still a mystery that it worked for 2 years and broke now. What has changed?

I believe it did not work before but the previous testers ignored it or never saw it.

Maybe they finally started to have non English testers…