61
votes

Xcode 5 won't let me change the bundle identifier. The app name portion after com.mycompany. is greyed out.

I created a bundle identifier in ITC which slightly differs and I want to use this new bundle identifier.

Do I have to create a new Xcode project with the correct identifier?

6
The quick way is to rename your project to match the desired name - this is because the name is derived from the PRODUCT_NAME variable.Petesh
You can manually change the build identifier in the info tab of the exectuable target - it is normally defined as com.mycompany.${PRODUCT_NAME:rfc1034identifier}, and you can change the ${PRODUCT_NAME:rfc1034identifier} value to the desired bundle identifierPetesh
You can also change the Product Name variable in the Packaging section of the Build Settings, which changes the namePetesh
Petesh's comment: "You can also change the Product Name variable in the Packaging section of the Build Settings, which changes the name" Should be the answer!Joseph DeCarlo

6 Answers

68
votes

Actually this is pretty simple:

  1. Select your target
  2. Select 'info' tab (you can do the same by finding the plist file on the project)
  3. Search for "Bundle Identifier" key, The value on your end should be com.mycompany.${PRODUCT_NAME:rfc1034identifier}.

If you want to change the grey field just replace the "com.mycompany" with whatever you want. the other field is the "Product Name" (which is read dynamically from the relevant key), You can change it by set the "Product Name" key on "Build Settings". You can also do it pretty ugly and change all the bundle identifier to whatever you want but I don't recommend that because if you would add more targets it would be static and harder to maintain.

57
votes
  1. Select your target under the Targets section.
  2. Go to the Build Settings tab.
  3. Scroll down to Packaging.
  4. Change the Product Name to the desired one.

Pic

18
votes

In Xcode 5.1.1, you can do it by simply renaming your Target. Double-click on the Target name to change it.

14
votes

In your projects Info.plist(or in Info tab of project setiings, which is the same) change ${PRODUCT_NAME:rfc1034identifier} to desired name. After that it wouldn't be greyed out.

0
votes

I had to do this for my project too and found it easily done in Xcode 5.1.1 by just renaming the project name in the Navigator and allow Xcode to find all the strings you need to change automatically. Just make sure you check-in or create a snapshot of your project first.

0
votes

Your bundle identifier is based on PRODUCT_NAME.

By default, PRODUCT_NAME is based on TARGET_NAME, which is quite difficult to change (XCode6 at time of writing). So don't be afraid to impose a different name here if necessary.