I began an iPhone project the other day with a silly development code name, and now I want to change the name of the project since it's nearly finished.
But I'm not sure how to do this with Xcode, trying the obvious of changing the application's name in the info.plist file, causes the signing process to go wrong (I think...) and my app won't launch giving me a Launcher error.
I guess I could make a new project and copy paste everything over, but it seems so primitive that I'm hoping for a more civilized solution.
In Xcode 4 search for "Product Name" under "Build Settings" tab of the target.
I saw many ways to change your app name on homescreen, and i don't think the necessity of edit your .plist
file or changing Build Settings of target is justified.
By default in Xcode 7.2 you even don't have 'bundle display name' in your plist
file.
And by default, your 'Product name' in 'Build settings' tab of your target is equal to $(TARGET_NAME)
. IMHO it's convenient and didn't mean to change.
So you can simply change your Target name like hallski said in his comment for accepted answer. I made pic for it:
I am using this script after I rename my iOS Project. It helps to change the directories name and make the names in sync.
http://github.com/ytbryan/rename
NOTE: you will need to manually change the scheme's name.
In Target>Build Setting>Product name field you can edit that field here.
Using Javier's approach to rename my app works perfectly. There is just one small bit missing in the end that I wanted add.
I still ended up getting a Mach-O Linker Error after a Clean and Rebuild. To resolve this; select yourProject(in the Project Navigator) > under Targets select yourProjectTests(the test target) > under the General tab, update the Host Application's value to the newly renamed project.
Select Target
Select Info
Insert Bundle Display Name and set App Title
A note on the bundle display name -- this is the right way to change the name in your app menu, but you'll likely have to reset content and settings in your iOS simulator before you see the change actually take effect.
You can modify the Product Name
without changing your Project Name
(especially the directory).
Build Settings > search the keyword "product name" > update values
In Xcode 4 click on project name to start renaming.
In Target>Build Setting>Product name field you can edit that field here.
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
In new versions of Xcode (Xcode 5 too) to change the name of the project follow this simple (detailed as possible) steps:
Note: In this example I'll change a hypothetical "Sample" name to a "Test" one.
Click twice slowly on the project root in the project navigator and then it becomes editable.
Rename the project.
After pressing 'ENTER' the assistant will suggest you to automatically change all project-name-related entries and will allow you to de-select some of them, if you want.
Press 'RENAME' and Xcode will do the rest. In the meanwhile Xcode may ask you about the option of making a snapshot of the project (it is very recommendable to do so).
In addition to renaming the project, you may want to rename the scheme so that it matches your new project name.
Repeat similar steps like 1 and 2, and press OK.
That's it.
Another scenario ... The previous explanation was related to changing the project name, but chances are that you only need to change the display name that appears below the app icon in the home screen. These are the steps:
In the "Supporting Files" group locate the info.plist (or related) file
Locate the "Bundle display name" key and change the value to the new name.
Delete the "old" app from the simulator or any other testing device.
Clean and Rebuild your app again.
That's it, you will now see the new app name in your home screen.
This is how I changed in Xcode 4:
I saw many ways to change your app name on homescreen, and i don't think the necessity of edit your .plist
file or changing Build Settings of target is justified.
By default in Xcode 7.2 you even don't have 'bundle display name' in your plist
file.
And by default, your 'Product name' in 'Build settings' tab of your target is equal to $(TARGET_NAME)
. IMHO it's convenient and didn't mean to change.
So you can simply change your Target name like hallski said in his comment for accepted answer. I made pic for it:
A note on the bundle display name -- this is the right way to change the name in your app menu, but you'll likely have to reset content and settings in your iOS simulator before you see the change actually take effect.
Easiest way: select the TARGET name, double click on it, rename. You'll see your app's new name underneath the icon on your device or Simulator.
From Xcode 4.2 and onwards, you can use one more option. Just click once on .proj file name at the top in left navigation pane and it will be available for renaming.Rename it and the whole project will get renamed and not only the target.
Select Target
Select Info
Insert Bundle Display Name and set App Title
For Xcode 10.2:
Although this question has many answers but I wanted to explain the whole concept in detail so that everyone can apply this knowledge to further or previous versions of Xcode too.
Every Xcode project consists of one or more targets. According to apple, A target specifies a product to build and contains the instructions for building the product from a set of files in a project or workspace.
So every target is a product (app) on its own.
Steps to change the name:
Step 1: Go to the Targets and open the Info tab of the target whose name you want to change.
Step 2: View the Bundle name key under the Custom iOS Target Properties that is set to the default property of $(PRODUCT_NAME)
.
Step 3: You can either change the Bundle name directly (not recommended) or if you open the Build Settings tab then on searching for Product Name under Setting you will see that Product Name is set to $(TARGET_NAME)
.
Step 3A: You can change the Product Name or you can also change the Target Name by double clicking on the target.
So changing the Product Name (App Name) or Target Name both will result into similar results. But if you only want to change the App Name and want to keep using the same Target Name then only change the Product Name.
In Xcode 3.2 just select the Project entry in the Groups & Files panel, then select the menu item Project -> Rename… Worked for me.
Step 1 - Rename the project
Click on the project you want to rename in the "Project navigator" on the left of the Xcode view.
On the right select the "File inspector" and the name of your project should be in there under "Identity and Type", change it to the new name.
Click "Rename" in a dropdown menu
Step 2 - Rename the Scheme
In the top bar (near "Stop" button), there is a scheme for your OLD product, click on it, then go to "Manage schemes"
Click on the OLD name in the scheme, and it will become editable, change the name
Step 3 - Rename the folder with your assets
Quit Xcode
In the correctly named master folder, there is a newly named xcodeproj file with the the wrongly named OLD folder. Rename the OLD folder to your new name
Reopen the project, you will see a warning: "The folder OLD does not exist", dismiss the warning
In the "Project navigator" on the left, click the top level OLD folder name
In Utilities pane under "Identity and type" you will see the "Name" entry, change this from the OLD to the new name
Just below there is a "Location" entry. Click on a folder with the OLD name and chose the newly renamed folder
Step 4 - Rename the Build plist data
Click on the project in the "Project navigator" on the left, in the main panel select "Build Settings"
Search for "plist" in this section
Under packaging, you will see Info.plist, and Product bundle identifier
Rename the top entry in Info.plist
Do the same for Product Identifier
Finally, you are done and can rebuild (Command + Shift + K to clean, Command + B to build)
When using CocoaPods After step 2:
Quit XCode.
In the master folder, rename OLD.xcworkspace to NEW.xcworkspace.
After step 4:
In XCode: choose and edit Podfile from the project navigator. You should see a target clause with the OLD name. Change it to NEW.
Quit XCode.
In the project folder, delete the OLD.podspec file.
rm -rf Pods/
Run pod install.
Open XCode.
Click on your project name in the project navigator.
In the main pane, switch to the Build Phases tab.
Under Link Binary With Libraries, look for libPods-OLD.a and delete it.
If you have an objective-c Bridging header go to Build settings and change the location of the header from OLD/OLD-Bridging-Header.h to NEW/NEW-Bridging-Header.h
Clean and run.
For sake of gathering all relevant information in one place, here is the official answer to this question - and it is the only one that worked for me on Xcode 5.1.1
Just use the Identity and Type pane in Xcode.
For changing application name only (that will display along with app icon) in xcode 4 or later:
Click on your project file icon from Groups & Files panel, choose Target -> Build Settings -> Packaging -> Product Name. Click on the row, a pop-up will come, type your new app name here.
For changing Project name only (that will display along with project icon) in xcode 4 or later:
Click on your project file icon from Groups & Files panel, choose Project(above targets) from right pane, just see at the far right pane(it will be visible only if you have enabled "Hide or show utilities").Look for project name.Edit it to new name you want to give your project.
Delete your app from simulator/device, clean and run.Changes should reflect.
That's it
This is how I changed in Xcode 4:
select project navigator > select Target > Identity > Display Name > Name
For Xcode 10.2:
Although this question has many answers but I wanted to explain the whole concept in detail so that everyone can apply this knowledge to further or previous versions of Xcode too.
Every Xcode project consists of one or more targets. According to apple, A target specifies a product to build and contains the instructions for building the product from a set of files in a project or workspace.
So every target is a product (app) on its own.
Steps to change the name:
Step 1: Go to the Targets and open the Info tab of the target whose name you want to change.
Step 2: View the Bundle name key under the Custom iOS Target Properties that is set to the default property of $(PRODUCT_NAME)
.
Step 3: You can either change the Bundle name directly (not recommended) or if you open the Build Settings tab then on searching for Product Name under Setting you will see that Product Name is set to $(TARGET_NAME)
.
Step 3A: You can change the Product Name or you can also change the Target Name by double clicking on the target.
So changing the Product Name (App Name) or Target Name both will result into similar results. But if you only want to change the App Name and want to keep using the same Target Name then only change the Product Name.
The best way I like in xcode5 is to change product name in building settings. Search "product name" in "building settings", and change it.
If you want to change display name only then you can directly change from property file(plist) of app.
You can add a new row with the following key : bundle display name
Here is an example for this
When you use this the app name which you have given with this key will be display.
So you can do this simply.
Target>Build Setting>Product name
If you wanna change the name, that will be displayed on your screen, right under your icon, in Xcode 4, go to Targets->info->Bundle Display Name and change it to whatever you want.
You can change from info.plist having attribute "Bundle Name" .
The link below works for Xcode 6, especially if you are getting an error after trying to rename your project. Basically, just try building a new scheme of your app.
If you need to change the name of the Application as it appears on the iPhone's home screen, you need to do it in the Target configuration, not the project configuration.
Expand the Targets group in Xcode, then single-click the item under that. It should share the name of your project, which is also the default name of the application that gets generated.
Press command-I to bring up the Info window, then navigate to the Build tag.
Set the Configuration drop-down to read All Configurations.
Look for a setting called Product Name under the Packaging heading.
Change that value to the name you want for your compiled applications and, in the immortal words of Bugs Bunny: Viola! Do a clean then build and your application will take on the new name.
If you want to change display name only then you can directly change from property file(plist) of app.
You can add a new row with the following key : bundle display name
Here is an example for this
When you use this the app name which you have given with this key will be display.
So you can do this simply.
For sake of gathering all relevant information in one place, here is the official answer to this question - and it is the only one that worked for me on Xcode 5.1.1
Just use the Identity and Type pane in Xcode.
Using Javier's approach to rename my app works perfectly. There is just one small bit missing in the end that I wanted add.
I still ended up getting a Mach-O Linker Error after a Clean and Rebuild. To resolve this; select yourProject(in the Project Navigator) > under Targets select yourProjectTests(the test target) > under the General tab, update the Host Application's value to the newly renamed project.
If you need to change the name of the Application as it appears on the iPhone's home screen, you need to do it in the Target configuration, not the project configuration.
Expand the Targets group in Xcode, then single-click the item under that. It should share the name of your project, which is also the default name of the application that gets generated.
Press command-I to bring up the Info window, then navigate to the Build tag.
Set the Configuration drop-down to read All Configurations.
Look for a setting called Product Name under the Packaging heading.
Change that value to the name you want for your compiled applications and, in the immortal words of Bugs Bunny: Viola! Do a clean then build and your application will take on the new name.
From Xcode 4.2 and onwards, you can use one more option. Just click once on .proj file name at the top in left navigation pane and it will be available for renaming.Rename it and the whole project will get renamed and not only the target.
I think there is a bit of confusion:
usually is enough to change the latter, adding/modifying the BUNDLE DISLAY NAME key in plist.
Is better to leave project name untouched, but may be changed
Note that Bundle display Name CAN contain spaces and special chars, but project NOT. Doing so some cmd line tools will fails due to filename path rules.
And even more Bundle Display name can be localized.
So unless you are in early stage and need to change INTERNAL project name, go on using Bundle Display Name key.
In Xcode 4 search for "Product Name" under "Build Settings" tab of the target.
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
In Xcode 4 click on project name to start renaming.
In Xcode 3.2 just select the Project entry in the Groups & Files panel, then select the menu item Project -> Rename… Worked for me.
I am using this script after I rename my iOS Project. It helps to change the directories name and make the names in sync.
http://github.com/ytbryan/rename
NOTE: you will need to manually change the scheme's name.
You change the bundle display name in the info.plist. It's as simple as that.
Changing the 'bundle display name' (as opposed to 'bundle name') is the only way to include characters like '+' in your applications name. Including special characters in the project name will cause an error when uploading to the app store!
Step 1 - Rename the project
Click on the project you want to rename in the "Project navigator" on the left of the Xcode view.
On the right select the "File inspector" and the name of your project should be in there under "Identity and Type", change it to the new name.
Click "Rename" in a dropdown menu
Step 2 - Rename the Scheme
In the top bar (near "Stop" button), there is a scheme for your OLD product, click on it, then go to "Manage schemes"
Click on the OLD name in the scheme, and it will become editable, change the name
Step 3 - Rename the folder with your assets
Quit Xcode
In the correctly named master folder, there is a newly named xcodeproj file with the the wrongly named OLD folder. Rename the OLD folder to your new name
Reopen the project, you will see a warning: "The folder OLD does not exist", dismiss the warning
In the "Project navigator" on the left, click the top level OLD folder name
In Utilities pane under "Identity and type" you will see the "Name" entry, change this from the OLD to the new name
Just below there is a "Location" entry. Click on a folder with the OLD name and chose the newly renamed folder
Step 4 - Rename the Build plist data
Click on the project in the "Project navigator" on the left, in the main panel select "Build Settings"
Search for "plist" in this section
Under packaging, you will see Info.plist, and Product bundle identifier
Rename the top entry in Info.plist
Do the same for Product Identifier
Finally, you are done and can rebuild (Command + Shift + K to clean, Command + B to build)
When using CocoaPods After step 2:
Quit XCode.
In the master folder, rename OLD.xcworkspace to NEW.xcworkspace.
After step 4:
In XCode: choose and edit Podfile from the project navigator. You should see a target clause with the OLD name. Change it to NEW.
Quit XCode.
In the project folder, delete the OLD.podspec file.
rm -rf Pods/
Run pod install.
Open XCode.
Click on your project name in the project navigator.
In the main pane, switch to the Build Phases tab.
Under Link Binary With Libraries, look for libPods-OLD.a and delete it.
If you have an objective-c Bridging header go to Build settings and change the location of the header from OLD/OLD-Bridging-Header.h to NEW/NEW-Bridging-Header.h
Clean and run.
You change the bundle display name in the info.plist. It's as simple as that.
Changing the 'bundle display name' (as opposed to 'bundle name') is the only way to include characters like '+' in your applications name. Including special characters in the project name will cause an error when uploading to the app store!
For Xcode 11, if you want to change the App Display Name then simply go to plist and simply replace value of CFBundleDisplayName
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
There are
Product name
($(PRODUCT_NAME)
): defaults to Target name
. This is useful for scheme
to select the right targetBundle display name
(CFBundleDisplayName
): defaults to Product name
. This is what is displayed to your iOS userFor changing application name only (that will display along with app icon) in xcode 4 or later:
Click on your project file icon from Groups & Files panel, choose Target -> Build Settings -> Packaging -> Product Name. Click on the row, a pop-up will come, type your new app name here.
For changing Project name only (that will display along with project icon) in xcode 4 or later:
Click on your project file icon from Groups & Files panel, choose Project(above targets) from right pane, just see at the far right pane(it will be visible only if you have enabled "Hide or show utilities").Look for project name.Edit it to new name you want to give your project.
Delete your app from simulator/device, clean and run.Changes should reflect.
That's it
You can modify the Product Name
without changing your Project Name
(especially the directory).
Build Settings > search the keyword "product name" > update values
I think there is a bit of confusion:
usually is enough to change the latter, adding/modifying the BUNDLE DISLAY NAME key in plist.
Is better to leave project name untouched, but may be changed
Note that Bundle display Name CAN contain spaces and special chars, but project NOT. Doing so some cmd line tools will fails due to filename path rules.
And even more Bundle Display name can be localized.
So unless you are in early stage and need to change INTERNAL project name, go on using Bundle Display Name key.
Also: your target name may be the same as your app name - note that changing the target name does not change the app name - only the change in the target properties described below - will change the app name.
select project navigator > select Target > Identity > Display Name > Name
There are
Product name
($(PRODUCT_NAME)
): defaults to Target name
. This is useful for scheme
to select the right targetBundle display name
(CFBundleDisplayName
): defaults to Product name
. This is what is displayed to your iOS userEasiest way: select the TARGET name, double click on it, rename. You'll see your app's new name underneath the icon on your device or Simulator.
You can change from info.plist having attribute "Bundle Name" .
The best way I like in xcode5 is to change product name in building settings. Search "product name" in "building settings", and change it.
Also: your target name may be the same as your app name - note that changing the target name does not change the app name - only the change in the target properties described below - will change the app name.
Target>Build Setting>Product name
In new versions of Xcode (Xcode 5 too) to change the name of the project follow this simple (detailed as possible) steps:
Note: In this example I'll change a hypothetical "Sample" name to a "Test" one.
Click twice slowly on the project root in the project navigator and then it becomes editable.
Rename the project.
After pressing 'ENTER' the assistant will suggest you to automatically change all project-name-related entries and will allow you to de-select some of them, if you want.
Press 'RENAME' and Xcode will do the rest. In the meanwhile Xcode may ask you about the option of making a snapshot of the project (it is very recommendable to do so).
In addition to renaming the project, you may want to rename the scheme so that it matches your new project name.
Repeat similar steps like 1 and 2, and press OK.
That's it.
Another scenario ... The previous explanation was related to changing the project name, but chances are that you only need to change the display name that appears below the app icon in the home screen. These are the steps:
In the "Supporting Files" group locate the info.plist (or related) file
Locate the "Bundle display name" key and change the value to the new name.
Delete the "old" app from the simulator or any other testing device.
Clean and Rebuild your app again.
That's it, you will now see the new app name in your home screen.
If you wanna change the name, that will be displayed on your screen, right under your icon, in Xcode 4, go to Targets->info->Bundle Display Name and change it to whatever you want.
For Xcode 11, if you want to change the App Display Name then simply go to plist and simply replace value of CFBundleDisplayName
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
Source: Stackoverflow.com