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.
Related
I'm developing an app with Swift + Spritekit with the project name as simple as "learningApp".
A good step and several hours into the development my team decided to name the app (with danish letters) "Lær Toner" (which in English means to learn tones).
However, when doing so - the entire project fails in Xcode. The .swift and .sks scene-files are not able to communicate and the console outputs this message:
2019-10-31 00:09:47.549357+0100 Lær Toner[18206:292858] Unable to load custom class 'LaunchScreen' from module '(null)'
Just to be clear, here's images:
So if I change the name to "Learn Tones" there are no issues at all and the app works as intended. As soon as I change it back to "Lær Toner" and run the app the console outputs the message above.
I tried to change it via "Build Settings" also - I also tried to reboot Xcode, clean the build folder, but nothing have helped so far.
I can see in the Danish App store that multiple applications have Danish letters like Æ, Ø and Å in the name, so that leads to think it's (hopefully) a minor thing I've missed.
I've searched the world wide web till the end, but I have not found anything close to a solution to this issue.
If anyone has any input, or knows how to deal with this, I'd be a happy developer.
Thanks in advance.
I found the same issue when i have changed the display name from the 'General' tab of my target settings.
The solution is;
Go back to the previous name by discarding the changes you have made, and make sure the app is running correctly.
Uninstall the app from your device or simulator.
Clean the project.
The important thing is to add a new key on your info.plist
<key>CFBundleDisplayName</key>
<string>Lær Toner</string>
And it will be ok.
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
For my iOS app I am trying to have multiple build configurations so I can create development and production builds that target different servers, configurations etc.
In Xcode I have created another build configuration and scheme to target this configuration. So I have the separate configuration/schemes as:
Dev version
PRODUCT_NAME=MyApp-dev
BUNDLE_IDENTIFIER=com.organisation.myapp-dev
Original Version
PRODUCT_NAME=MyApp
BUNDLE_IDENTIFIER=com.organisation.myapp
Both configurations can be built with the different schemes. Both will run on the same device because of the different identifier, but the dev version still shows MyApp on the home screen. When looking in the build products, it produces a MyApp.app bundle with a target inside it of MyApp-dev.
Is there another setting to change the wrapper name from MyApp.app to MyApp-dev.app? And any other setting that may be preventing PRODUCT_NAME setting to be used in the app display name?
edit: In the info.plist file, both the CFBundleName and CFBundleDisplayName are set to $(PRODUCT_NAME)
n.b. I have done this before with another app and all is working fine there, hence the query if another developer has changed a more targeted setting that overrides this change.
There was a InfoPlist.strings file in the project that was overriding CFBundleDisplayName. I removed this definition from this file and all worked as desired.
The project is not localised and so I never considered this override! Hopefully if someone else comes across this, remember settings in Info.plist can be overriden with localised strings in this file.
I am currently using xcode 5.1
I have successfully changed an app's name before using the same steps described this SO Question.
But for some reason I am having trouble right now. Usually, I have experienced this same screen. but this time when I changed the name it did not fully change everything.
When I view my project's targets, the old app name is still being used. If I clean and build my project, it will show the old name very quickly in the "progress bar" up at the top of xcode.
If I look at my project's supporting files folder, the plist still has the old app name ie. old-app-name-Info.plist
So far I have manually changed the project name, changed the bundle identifier, changed the Product Name in the Build Settings, and changed the name of the Scheme. I don't know what else to do.
The app now has the correct name when I run it on the simulator or on my iPhone, but the old app name is still being used throughout various areas in project folder's, xcode settings, etc.
I just want to fully change everything that use's the old app's name and make them use the new app name.
EDIT: Here's another example. If I go to the File Inspector tab the correct name is shown for the project, but if I go to the Issue Navigator tab it shows the old app name at the very top.
What do I need to do to change everything over?
This ended up finally changing it for me.
I went to the Project Navigator tab in xcode and clicked on my project. I then double clicked the target that still had the old app name, changed the name to the new app name, and hit the return key.
Everything is now correct and changed to the new app name. However, I still have no idea why the SO Answer that I linked to in my question did not get the job done in the first place.
I have used that solution several times over the past 6 months and it has always worked perfectly for me so I have no idea why it did not work this time.
Open your plist file and edit bundle name and bundle display name as you want.
This should do the trick.
Simply if you want to change the application name on devices go to the info.plist file on your application and Change Bundle Name to (yourAppName)
That's work for me. (XCode 6.3.2)
I know this may be impossible but...
I just got an app approved, and everywhere (that I can see) it is capitalized correctly - it's called "Daybreak", but when you download it, the name under the icon is "daybreak". I let Xcode take care of all that naming stuff this time, so I'm not sure where it got changed, or where the app store is taking the app name from. Like I said, every where else it is correct - just not under the icon in my phone!
[EDIT] One other place it shows up lower case is in the organizer for its archive. On the left it's lower case; when selected, it's lower case in the large font at the top of the details, and upper case just below that...
[EDIT] I should mention that I'm using Xcode 4...
[EDIT] The following are from my target's info tab:
Bundle display name ${PRODUCT_NAME}
Bundle identifier com.lollygaggersoft.${PRODUCT_NAME:rfc1034identifier}
[EDIT] I was able to fix the issue by manually changing my Bundle display name to the correct capitalization and leaving the Bundle identifier alone. This worked when I submitted my update.
Look at Info tab in Target settings. There are two keys:
Bunle name -- is name of directory (followed by .app) where all program stuff are kept.
Bundle display name -- is wat you exactly need, it is the name that will be displayed in SpringBoard
It's common to set both bundle name and bundle display name to ${PRODUCT_NAME}, than set field "Product name" in project Build settings to whatever you want
PS In organizer you see bundle name in small fond and bundle display name in large font.
PPS AFAIK you need to upload another version to appstore in order to change display name.