28
votes

Assume I have an iPhone application whose Product Name is "My App" (with a space between words) in XCode build settings. In my info.plist, the Bundle identifier is specified as com.mycompany.${PRODUCT_NAME:rfc1034identifier}

In the resulting info.plist in the application bundle, the bundle identifier is shown as com.mycompany.My-App. I need it to be com.mycompany.MyApp. How do I change the Bundle Identifier setting so it would convert the product name the way I want?

ps. If I change the ${PRODUCT_NAME:rfc1034identifier} to ${PRODUCT_NAME:identifier}, the resulting bundle identifier will be com.mycompany.My_App. I just need to remove the space character in the product name completely in the result.

3

3 Answers

43
votes

Just type it in?

i.e. instead of com.mycompany.${PRODUCT_NAME:rfc1034identifier} just type com.mycompany.MyApp

If you have more than one target that need different bundle names, one way of doing it is to create your own variable and use that instead.

In the build menu (select your project and choose Get Info), you can add your own variables to the project. If you make one called MY_BUNDLE_NAME and set it to MyApp, you can then put com.mycompany.${MY_BUNDLE_NAME} in the plist file. You should be able to set MY_BUNDLE_NAME to different values for different targets.

0
votes

same bundle id should be on xcode and itunnes:

in this file $ touch Info.plist

Bundle Identifier (App ID Suffix) Enter a unique identifier for your App ID. The recommended practice is to use a reverse-domain name style string for the Bundle Identifier portion of the App ID.

Example: com.domainname.appname

0
votes

The accepted answer hasn't worked for me correctly. It seemed to change the bundle identifier however it messed up the whole app. In my case this solution worked fine: Change bundle identifier in Xcode when submitting my first app in IOS