flutter app name mismatch with ios bundle name - ios

i am trying to set my app name as "Name Example" but it shown like "NameExample" and remove the white spaces

apple shrink app name on small devices

Related

Spaces are not respected CFBundleName or CFBundleDisplayName

I am wondering how Google Calendar is able to maintain a space in it's display name on iOS. While my app cannot.
The issue I am about to describe below only occurs if the app is archived and uploaded to testflight and installed on a physical device via the Testflight app
I am trying to call my app Toronto Ponic with a single white space character.
Here is what I've tried so far:
Product name is "Toronto Ponic" i.e CFBundleName
Bundle display name is "Toronto Ponic" CFBundleDisplayName
I've tried to add Toronto Ponic for both CFBundleName and CFBundleDisplayName
I've tried to add Toronto Ponic for both CFBundleName and CFBundleDisplayName
I've tried to build my app in UIKit with Legacy build system + steps 1, 2, 3 & 4 mentioned above.
Nothing works. This issue occurs on every version of iOS 14+ and every recent version of Xcode 13.2.1 -> 13.3.1
The documentation says 30 characters max. It says nothing about stripping spaces from names with > 12 characters.
Any ideas?

Xcode user defined build setting with space in value

I'd like to switch app names (bundle display name) via build config. So that way if I build by "dev" scheme I get an app on my home screen that is called "App Dev" and when I build my "stage" scheme I get an app called "App Stage" and so on.
So up until now this worked really good. I have a custom build setting entry in my project called APP_DISPLAY_NAME and I use that variable in my Info.plist to set the CFBundleDisplayName with $(APP_DISPLAY_NAME).
Now the app should be renamed to "My App". Two words, separated by space and for some reason Xcode drops the spaces. The app now get's called "MyApp", even though the value in the build settings contains a space.
I have tried adding ,  , \U00A0 and funnily enough all these characters end up in the app name. I end up with "My App"... apparently the only character that doesn't work is space.
So how do I get my space back? Ideally without switching out the whole Info.plist for each build config.
OK, very strange but the answer is simple. The app name was simply just a tiny bit too long so iOS just decided to throw away the spaces...
So on iPhone SE and 6/7/8 the name just got changed from "My Appname Dev" to "MyAppNam...". On the XR for example it just works as it should.
Strange that Apple just drops the spaces.

Bundle display name(CFBundleDisplayName) missing space characters in iOS 11

When I give Bundle display name with space as "my app display name", I get the app name as ("myappdisplay..."). This happens only on the iOS 11 , in iOS 10 and below(<) it is showing properly as ("my app displa...") .
I tried to override name "CFBundleDisplayName" in my Info.Plist with unicode character   ,working fine at iOS 11 but it is showing double space in iOS 9 and 10.
Another question is this a feature or a bug ? If it is feature , Can you provide me apple official link.
Open info.plist as Source code(right click, open as...)
Find CFBundleDisplayName
Replace normal space with unicode  
  works only when typed in *.plist. Can't be inserted in Display name in Xcode project settings;
From: Bundle display name missing space characters
Developer apple: https://forums.developer.apple.com/thread/77832
You could check other answers for this post, they explain the reason.

Change title under app icon for iPhone 6

I need to change the name that appears below the app icon. I referred to this answer:https://stackoverflow.com/a/2189996/2376667.
While changing the bundle name does the trick for other iOS devices, it is not working for iPhone 6 and iPhone 6 Plus.
eg; if the previous bundle name was "MyApplication" and the new bundle name is "My Application", for rest of the devices the title gets shown as "My Application" but for iPhone 6 and iPhone 6 Plus, it still gets shown as "MyApplication". So I suppose it is not honouring the space that has been inserted. How do I get the changed name to display for iPhone 6?
Changing App Name is pretty straight forward. It has to be the product name.
Go to
Build Settings -> Packaging -> Product Name
After setting it, Xcode should be the one generating the necessary changes to the other properties.
If you followed the reference given.
Kindly put back the Bundle Name value to its default ${PRODUCT_NAME}
I've done this numerous time and it always work.
You don't have to but you could reset the simulator just to be sure you're working on a clean state.
Change Bundle name and Bundle display name in Custom iOS Target Properties in Info plist

How to specify a different bundle display name on iPad (universal app)?

I have tried this in info plist which does not work:
CFBundleDisplayName~ipad = "Full app name"
The iPad still displays only the CFBundleDisplayName which is abbreviated for iPhone.
Is there another approach to get a different bundle display name for iPad in a universal app?
It can be done as stated in the apple document link
In iOS 3.2 and later, apps can designate keys in the Info.plist file as being applicable only to specific types of devices. To create a device-specific key, you combine the key name with some special qualifiers using the following pattern:
key_root-platform~device
In this pattern, the key_root portion represents the original name of the key. The and portions are both optional endings that you can use to apply keys to specific platforms or devices. For the platform key, you can specify a value of iphoneos or macos depending on the platform you are targeting.
I think what you have done is right. Just try to delete the app from the device and build and run again.
As #LebRon suggested I solved it by setting a separate key for iPad and iPhone,
here is a screenshot which solved it for me,
No, there is not a way to do it. In order to understand from a code whether the device is iPhone or iPad, you need runtime. And Bundle Display Name cannot be changed at the runtime.
It was explained here: Dynamically set iOS Bundle Display Name in Xcode 4 on Build

Resources