1040

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.

Sazzad Hissain Khan
  • 29,428
  • 20
  • 134
  • 192
Robert Gould
  • 65,529
  • 58
  • 177
  • 269
  • 1
    **@all:** Not fully answered. The title of the application window and the pulldown menu of the application stays with the old name. **@Frank Schmitt:** The "Rename xCode Project" project fails when the plist file was renamed. It awaits the name Info.plist – JJD Sep 15 '10 at 16:39
  • I've had to do this a few times. I use a tool called Rename Xcode Project 2.1. – Nosredna Jun 10 '09 at 00:58
  • There are times when the simple way still doesn't work (or there are echoes of old naming, etc.). I posted an article showing how to fix this by going into the xml of the project files manually here: [change the name of an iPhone app](http://pushplay.net/blog_detail.php?id=29) – Jeffrey Berthiaume Jul 29 '09 at 14:29
  • Here's a free utility that does this and works well in my experience: [change the name of an iPhone app](http://www.macupdate.com/info.php/id/17683) – Frank Schmitt Jan 12 '10 at 00:46
  • 1
    this works for everything except renaming your plist file which yu can do manually. – CodingWithoutComments Jun 24 '10 at 16:14
  • Change the name of the file, the very first in the list. – ababab5 Sep 26 '14 at 20:40
  • For rookies, the [Xcode 5 answer](https://stackoverflow.com/a/20418989/1296746) is correct and way easier. – Joshua Dance Jul 10 '18 at 05:29
  • Note: You can also change it in InfoPlist.strings so that it's localized for different languages.. Somehow no one posted an answer for that :( – Brandon Nov 10 '18 at 19:34

36 Answers36

1038
  1. Go to Targets in Xcode.
  2. Get Info on your project's target (your current development name).
  3. Search for Product Name under Packaging. Change its value to what you want your new project name to be.
Alex Aghajanov
  • 77
  • 1
  • 10
Giao
  • 13,751
  • 2
  • 22
  • 18
  • 10
    I had to quit XCode and delete my build directory before it would take for me. – Simon Woodside Aug 21 '09 at 20:41
  • 10
    Also, remember to change this in each of the configurations! (Debug, Release, Ad Hoc, App Store, etc) – Tony Eichelberger Jan 20 '10 at 22:31
  • 8
    For anyone else that is a complete beginner, "Targets" is inside of the "Groups & Files" pane on the left, it has a red and white target sign next to it ;) – Hamy May 01 '10 at 01:37
  • Example of above comment: 2010-07-03 10:56:35.129 OldAppName [45672.207] Test Message - Even though I have changed the Product_name, ".app" name Bundle name, etc... - Where does "Console" get this name, so I can truly change the app's name 100%? – Newbyman Jul 03 '10 at 14:59
  • Don't know why am I an exception but It didn't worked for me :( – Akshay Feb 25 '11 at 06:58
  • 318
    In Xcode 4 you can simply double click the target name and change it directly in the target list. – hallski Apr 15 '11 at 08:12
  • 1
    After doing the mentioned steps I get a Code Sign error: The identity 'bla' doesn't match any identity in any profile. – jinglesthula Aug 01 '11 at 17:40
  • 1
    This needs updating, the given answer and associated comments are very confusing and don't seem to match what I see in Xcode 5.x – PapillonUK Aug 03 '13 at 16:05
  • In latest version of xcode I get error saying "unable to change app permission something after changing the name". All I did was uninstall the app and ran the ">" button again. It worked like magic – Jay Mayu Sep 03 '13 at 11:13
  • If your app uses `iCloud` or `Push Notifications` or some other service, and you change `Product Name` you will also need to recreate Provisioning Profile for your app. But still, that is far better than renaming project folder in Finder and then re-include all files into Xcode :) – Martin Berger Sep 25 '13 at 09:11
  • 10
    @all there is a really good and updated answer for Xcode5 that worked like a charm, and i think it's the correct one check it out here http://stackoverflow.com/a/20418989/3027848 – aledustet Jan 15 '14 at 17:11
  • This is not a good answer, if you change the name in following this steps your unit test are not going to work! – Gabriel Goncalves Jun 14 '14 at 20:29
  • 2
    After selecting Target. Find "Product Name" in "Packaging" under build settings. – Ammar Mujeeb May 08 '15 at 12:10
  • @hallski (1000 yrs later... ) It still works in Xcode6! – Josh Jun 25 '15 at 08:58
  • Go to Targets / Build Settings / and look for Packaging to change Product Name. My app uses CloudKit and works fine (XCode 8, Swift 3) – Wilmer Oct 24 '16 at 12:07
  • 5
    In Xcode >= 8 just select target > General tab and write your app new name in "Display Name" Column. Done!! – Ravi Mar 24 '17 at 14:58
  • 4
    Does not work. Why is this crap answer being protected? – James Bush Jul 03 '17 at 22:02
  • If you have localization, change the 'CFBundleDisplayName' key in InfoPlist.strings file. – Debaprio B Mar 19 '18 at 17:45
  • XCode no longer has "Targets" menu items – Nadia Solovyeva May 21 '19 at 03:07
  • The info is useful but I gave you a thumbs up because seen the number 999 was driving me crazy :-) – Mikiko Jane Jun 24 '20 at 17:28
364

In new versions of Xcode (Xcode 5 too), to change the name of the project, follow these simple (detailed as possible) steps:

Note: In this example I'll change a hypothetical "Sample" name to a "Test" one.

  1. Click twice slowly on the project root in the project navigator and then it becomes editable.

    Enter image description here

  2. Rename the project.

    Enter image description here

  3. 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.

    Enter image description here

  4. 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).

  5. In addition to renaming the project, you may want to rename the scheme so that it matches your new project name.

    Enter image description here

  6. Repeat similar steps like 1 and 2, and press OK.

    Enter image description here

    enter image description here

  7. 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:

  1. In the "Supporting Files" group locate the info.plist (or related) file

  2. Locate the "Bundle display name" key and change the value to the new name.

    enter image description here

    enter image description here

  3. Delete the "old" app from the simulator or any other testing device.

  4. Clean and rebuild your app again.

  5. That's it. You will now see the new app name in your home screen.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Javier Cadiz
  • 11,648
  • 11
  • 51
  • 74
  • 4
    The scheme change didn't go smoothly for me: could only select My Mac after that. Thankfully the problem is easy to fix: http://stackoverflow.com/questions/8377970/xcode-ios-project-only-shows-my-mac-64-bit-but-not-simulator-or-device – marcel salathe Jun 03 '14 at 05:02
  • 2
    Had the same problem as @marcelsalathe, his fix solved the issue. Ideally this should be added to Javier Cadiz's answer. – mattsven Aug 12 '14 at 15:53
  • There is a bug with Xcode where the rename function doesn't rename shared internal framework properly. See here for more info: http://stackoverflow.com/questions/34749687/shared-internal-framework-not-found-after-renaming-project/34933948#34933948 – Steve Moser Jan 21 '16 at 20:48
  • The "Another scenario" worked great! Two notes: 1. I had to add the "Bundle Display Name" in Info.plist as it was not there by default (Xcode 7). 2. If it doesn't appear to work, make sure you're changing the bundle display name in the Info.plist file in the "Supporting Files" folder like Javier said. I wasn't paying close enough attention and changed it in the ProjectName-Info.plist file that is right below the "Supporting Files" folder and wondered why nothing happened. – Ryan May 18 '16 at 04:39
  • Thankyou so much for the detailed explanation! :) – Lucas P. Feb 27 '18 at 10:17
  • **Important note**: This won't rename some files and folders! You can use some `sed` magic to fix this afterward, though. – SilverWolf Apr 03 '18 at 20:15
  • This *should* be a good route but will lead most devs to a lost day or two. It is such a nightmare, especially if you have a bunch of pods active. I'd highly suggest Sahil Kapoor's advice above, and REALLY REALLY ponder a project's name prior to starting. – drew.. May 17 '18 at 18:54
202

You change the bundle display name in the info.plist file. 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 App Store!

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Atma
  • 25,661
  • 50
  • 173
  • 276
  • 6
    this is better than changing the target name as it avoids conflict and mess-ups in game engines – JqueryToAddNumbers Jan 30 '13 at 04:19
  • i had to change the product name in info plist and also rename the target name. Then I also had to clean build directory (press and hold options key while traversing to xcode Product menu and there will be an option to clean build directory). – j2emanue Apr 01 '13 at 15:07
  • 11
    This changes the app name displayed under the icon without the hassle of changing the app id and provisioning profiles. Thanks. Accepted answer no longer applies (as I understand it). – cloudsurfin Sep 06 '13 at 03:47
  • 4
    This is by far the superior solution! *JUST* changes the name under the icon, and not bundle identifiers which mess up provisioning profiles – Matthias Schicker Dec 15 '13 at 12:54
  • 1
    If 'Bundle display name' is not shown, then simply add it. – Martyn Davis Jun 10 '15 at 02:43
146

In Xcode 4 search for "Product Name" under "Build Settings" tab of the target.

pseudosudo
  • 5,389
  • 6
  • 34
  • 48
  • 6
    This is a bad answer, if you do that your test project won't run – Gabriel Goncalves Jun 14 '14 at 20:54
  • 3
    ...and 118 other people apparently! – Tash Pemhiwa Jan 08 '15 at 05:38
  • 2
    This would works great only with one issue, on your user's devices it will create a separate application with the new name instead of renaming the currently installed one they already have. Changing the 'bundle display name' in the project plist is the best way to do it. – MiMo Jan 08 '15 at 15:52
45
  1. Select Target

    Target selected in Xcode sidebar.

  2. Select Info

    Info tab selected.

  3. Insert Bundle Display Name and set App Title

    Dropdown showing Application Category highlighted.

grg
  • 3,915
  • 3
  • 27
  • 38
Alex Cio
  • 5,752
  • 4
  • 40
  • 73
  • 6
    This is the only solution that doesn't mess up with other file names and identifiers, and mostly - doesn't change the Bundle Identifier - which is essential if you already have an app id... – Aviel Gross Apr 04 '14 at 20:49
40

If you want to change the display name only then you can directly change it in the property file (plist) of the app.

You can add a new row with the following key: Bundle display name

Here is an example for this:

Enter image description here

When you use this the app name, which you have given with this key, it will be displayed.

So you can do this simply.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Code Hunter
  • 6,030
  • 15
  • 53
  • 76
39

This is how I changed it in Xcode 4:

  1. Click on your target file (the first main file of the application).
  2. Go to Build Settings.
  3. Scroll down you will find a bar called "Packaging".
  4. Under Packaging you will see Product Name, and you can change the project name.
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Dilip Rajkumar
  • 6,832
  • 6
  • 58
  • 74
  • 1
    This works, but it also changes the deployed app name (any existing installs won't get "upgraded", it will be a second app). Changing the "bundle display name" as per @CodeHunter's answer is nicer – Orion Edwards Feb 02 '15 at 22:47
36

In Xcode 3.2, just select the Project entry in the Groups & Files panel, and select the menu item ProjectRename… It worked for me.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Kiran Balegar
  • 896
  • 6
  • 15
31

Xcode 7/8? It's in the plist that your target uses

enter image description here

Dan Rosenstark
  • 64,546
  • 54
  • 267
  • 405
20

From Xcode 4.2 and onwards, you can use one more option. Just click once on the .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.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Yogi
  • 3,528
  • 3
  • 32
  • 51
18

The best way I like in Xcode 5 is to change product name in building settings. Search "product name" in "building settings", and change it.

Enter image description here

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
poordeveloper
  • 2,136
  • 1
  • 21
  • 35
17

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.

  1. Expand the Targets group in Xcode, and 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.

  2. Press Command + I to bring up the Info window, and then navigate to the Build tag.

  3. Set the Configuration drop-down to read All Configurations.

  4. Look for a setting called Product Name under the Packaging heading.

  5. Change that value to the name you want for your compiled applications and, in the immortal words of Bugs Bunny: Voilà! Do a clean and a build. Your application will take on the new name.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Akshay
  • 2,943
  • 6
  • 40
  • 74
16

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).

enter image description here

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).

enter image description here

Step 3A: You can change the Product Name or you can also change the Target Name by double clicking on the target.

enter image description here

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.

Sudhanshu Vohra
  • 1,054
  • 1
  • 11
  • 19
15

In Xcode 4 click on project name to start renaming.

logancautrell
  • 8,762
  • 3
  • 37
  • 50
Konstantin Salavatov
  • 3,925
  • 2
  • 23
  • 24
  • 1
    But renaming the project at the `Product Name` under `Build settings-> Packaging` is primordial step otherwise it will be some issues when submitting the final release. – Luca Apr 15 '12 at 15:49
  • I saw the setting as "Product Name" not "Project Name" - in any case, the change worked. – Joe Regan Jul 29 '09 at 14:25
  • 1
    The old iPhone OS 2.x SDK had it as "Program Name". It was changed with 3.0 SDK to "Product name". – Giao Jan 12 '10 at 00:25
14

If you want to change the name, that will be displayed on your screen, right under your icon, in Xcode 4, go to TargetsInfoBundle Display Name and change it to whatever you want.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Nareille
  • 771
  • 1
  • 10
  • 28
12

It's very easy to change in Xcode 8. enter the app name in the "Display Name" field in Project TargetGeneral Identity section.

enter image description here

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Biranchi
  • 15,173
  • 20
  • 115
  • 154
11

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.

mmattke
  • 701
  • 6
  • 6
10

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.

Noel
  • 417
  • 4
  • 11
9

You can modify the Product Name without changing your Project Name (especially the directory).

Build Settings > search the keyword "product name" > update values

Jeffrey Neo
  • 3,443
  • 1
  • 23
  • 28
9

For Xcode 11, if you want to change the App Display Name then simply go to plist and simply replace the value of CFBundleDisplayName:

<key>CFBundleDisplayName</key>
<string>Your App Name</string>
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Muhammad Nayab
  • 1,344
  • 12
  • 13
8

For the 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.

Use Identity and Type pane in Xcode

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
C0D3LIC1OU5
  • 8,018
  • 2
  • 35
  • 43
7
  1. Select the top-most line to the left (with your project name, number of targets, etc.).
  2. Select the target you wish to rename.
  3. Click on the name of the target again.
  4. Type the new name.
  5. Press Enter.
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Roger C S Wernersson
  • 5,857
  • 5
  • 30
  • 40
7

For changing the application name only (that will display along with the app icon) in Xcode 4 or later:

Click on your project file icon from Groups & Files panel, choose TargetBuild SettingsPackagingProduct Name. Click on the row. A pop-up will come. Type your new app name here.

For changing the project name only (that will display along with project icon) in Xcode 4 or later:

Click on your project file icon from the Groups & Files panel, choose Project (above targets) from the right pane. Just see at the far right pane (it will be visible only if you have enabled "Hide or show utilities"). Look for the project name. Edit it to a new name you want to give your project.

Delete your app from simulator/device, clean and run. Changes should reflect.

That's it.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
maddy
  • 3,510
  • 7
  • 38
  • 61
7

I saw many ways to change your app name on the home screen, 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 picture for it:

Enter image description here

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
surfrider
  • 1,115
  • 12
  • 26
6

I think there is a bit of confusion:

  • Do you want to change the project name or
  • do you want to change the App name on the iOS dashboard?

Usually it is enough to change the latter, adding/modifying the BUNDLE DISPLAY NAME key in plist.

It is better to leave the project name untouched, but it may be changed.

Note that Bundle display Name can contain spaces and special characters, but project not. Doing so some cmd line tools will fail due to filename path rules.

And even more Bundle Display names can be localized.

So unless you are in early stage and need to change the internal project name, go on using the Bundle Display Name key.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
ingconti
  • 9,213
  • 2
  • 51
  • 39
6

There are

  • Product name ($(PRODUCT_NAME)): defaults to Target name. This is useful for scheme to select the right target
  • Bundle display name (CFBundleDisplayName): defaults to Product name. This is what is displayed to your iOS user
onmyway133
  • 38,911
  • 23
  • 231
  • 237
6

Project NavigatorGeneralDisplay Name

enter image description here

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
garg
  • 2,344
  • 20
  • 20
5

The easiest way: select the TARGET name, double click on it, and rename.

You'll see your app's new name underneath the icon on your device or simulator.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Frank Eno
  • 2,378
  • 2
  • 23
  • 41
5

Using Javier's approach to rename my app works perfectly. There is just one small bit missing in the end that I wanted to 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.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Lester
  • 701
  • 11
  • 12
5

In TargetBuild SettingProduct name field, you can edit that field here.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
parvind
  • 797
  • 10
  • 21
5

Select project navigator → select TargetIdentityDisplay NameName.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Deep
  • 335
  • 4
  • 14
4

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.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
ytbryan
  • 2,374
  • 24
  • 41
4

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.

https://stackoverflow.com/a/27572164/4114835

Community
  • 1
  • 1
Max Friedman
  • 445
  • 4
  • 15
1

You can change from info.plist having attribute "Bundle Name" .

Ved Rauniyar
  • 1,398
  • 10
  • 21
1
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
1

Use TargetBuild SettingProduct name.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
u_gandhi
  • 435
  • 1
  • 5
  • 23