How do you set the name of the iPhone app? - iphone

I have released and updated a few apps now, but this is still not very clear.
The app name as it appears on the app store is set from iTunes connect. Where do you set the name of the app as it appears on the phone once it is installed?
I have tried and succeeded in setting it in 'Product Name', but when Product Name has a space in it, the binary file name has a space too, which is not allowed when you upload the binary.
Clarity on this issue would be great.
Any help is appreciated.

You can just manually remove the space in the binary's filename before you upload it to iTunes Connect. It doesn't affect your app's name when installed on devices.

In the Info.plist file you can set the name that appears on the iPhone screen. The setting you need is called "Bundle display name" and it starts out set to ${PRODUCT_NAME}. Set it to whatever you like.
If you want to change the name according to the users language, create a file called InfoPlist.strings and localize it. I've made a Japanese localization (ja) for my app and the file contains one line:
CFBundleDisplayName = "東京アート";
This means that users with their locale set to Japan see that name, and other users see the one in Info.plist
If you Get Info on the Target, you can also set the "Product Name", which is the name you end up with after building (the actual file). You can set it with no spaces. You can also just remove the space before you zip and upload.

Related

how to set an apple watch app's display name

I can't seem to find where to set the product name of my apple watch app. I do see the option Product Name, but updating it doesn't do anything. Also do not see anything in the documentation
To get your app name to display properly in the Apple Watch app on iPhone, note that Apple screwed up and used the wrong key.
You must set CFBundleName to the same string as your CFBundleDisplayName in your iPhone target's Info.plist (not any other target).
That key can also be edited via the "Custom iOS Target Properties" editor. This is especially important if your app name has a space in it but your target name doesn't.
I wasted a whole Saturday tracking this bug down. So hopefully this will help someone!
First of all App's display name is different than Product Name.
How to change App's display name:
Find the Info.plist file that is located in your WatchKit App folder and change the key "Bundle display name" (CFBundleDisplayName).
How to change Product Name:
I am not sure why xCode does't allow to set the Product Name when creating a new WatchKit app.
If you search for "PRODUCT_NAME", you will find that the WatchKit app is using the TARGET_NAME as product name "PRODUCT_NAME = $(TARGET_NAME)" for the WatchKit app.
So you can just rename the target name.
Hope this helps.

How do I localize my app's name in the App Store

I'd like to change the name of my app on the App Store for some of the localizations I handle.
I've already seen That I can change the name of the app on the springboard using CFBundleDisplayName and that works pretty well.
But there is nothing about the localization on the App Store.
Is CFBundleDisplayName doing the job ? Is there something else to do ?
Have you looked into iTunes Connect? I know that the description can be localized there (under Manage apps -> App -> Version -> Manage Localizations). I'm not entirely sure if it can be done though, as the names in the App Store have to be unique and therefore I imagine that are bound to a certain app ID.
To localize the App Name you can do this like any other file. First click on the AppName-Info.plist file then open up the Identity Inspector (Left Pane Column), under the document tag is a Localization section. You can just click the add button to add the different languages that you want (say, first English, then Italian). Than you just have to individual change each of the names in the AppName-Info.plist (English) and AppName-Info.plist (Italian) files.

How is an iPhone app named in the store?

Does apple set the name depending on the submitted binary or can the name be set by the developer?
I changed my display name of my app but didnt want to recreate the project to change the old name. So my .app name is not the name I want to give it in the app store.
Reason for this is that during the development of my app someone submitted an app with the same name.
What should I do to solve this?
Since the app with name already exists there is no option then to choose new name.
Name given to app in code(bundle icon name ..) is one which the user see when he installs application to his iPhone from app store.
Name provided at the time of upload - for ex: blah application , if user searches blah in app store it will show your application.its like tag on which user searches the application.
hope this helps u.
You can change your iTunes App Name each time a new binary is submitted.
You can change your .app bundle name each time you upload a new binary (this is changed in the info.plist).
If the app is already in the App Store, you'll have to submit an update to change the app name(s).
In order to get the two to match, you need to upload a new compressed binary with an app name that at least resembles the iTunes App Name. Since you can only show a small amount of the name on the Springboard (app launch view on the device), a lot of people abbreviate or shorten the name.
As an example, say you have an app called "My Brand New App" in iTunes (since this name can be longer). Well, you'd wanna shorten that name or abbreviate it in the .app bundle to be something like "New App" or similar so the entire name would fit under the app icon without being truncated by the OS.

What's the difference between "bundle display name" and "bundle name" in cocoa application's info plist

Here is a good question:
Bundle Name, Executable Name, Product Name...anything else?
but I just wonder about the difference between "bundle display name" and "bundle name" in cocoa application's info plist.
I don't think any of the other answers concisely answers the question.
CFBundleDisplayName - displayed: below icon. According to docs, should be localized, but only if the app itself is localized, otherwise there will be some kind of penalty (if this is true in reality I cannot say)
CFBundleName - displayed: I have no idea. Docs suggest that it will be used in lists thus recommended max 16 characters, but for instance the Settings→General→Usage list of apps uses CFBundleDisplayName really. To date I have never figured out where exactly this one is used.
Oh, this is for iOS apps, can't speak for other OSes.
thanks for Wevah's answer. here is the descriptions for people who confused with this two constants.
CFBundleDisplayName
CFBundleDisplayName (String - iOS, Mac OS X) specifies the display name of the bundle. If you support localized names for your bundle, include this key in both your information property list file and in the InfoPlist.strings files of your language subdirectories. If you localize this key, you should also include a localized version of the CFBundleName key.
If you do not intend to localize your bundle, do not include this key in your Info.plist file. Inclusion of this key does not affect the display of the bundle name but does incur a performance penalty to search for localized versions of this key.
Before displaying a localized name for your bundle, the Finder compares the value of this key against the actual name of your bundle in the file system. If the two names match, the Finder proceeds to display the localized name from the appropriate InfoPlist.strings file of your bundle. If the names do not match, the Finder displays the file-system name.
For more information about display names in Mac OS X, see File System Overview.
CFBundleName
CFBundleName (String - iOS, Mac OS X) identifies the short name of the bundle. This name should be less than 16 characters long and be suitable for displaying in the menu bar and the application’s Info window. You can include this key in the InfoPlist.strings file of an appropriate .lproj subdirectory to provide localized values for it. If you localize this key, you should also include the key CFBundleDisplayName.
According to Apple,
Bundle display name :
The app name displayed on the iPhone home screen comes from the
CFBundleDisplayName (or "Bundle display name" as the human-readable
string in Xcode) entry of your iOS app’s Info.plist
Similarly, the app name you see in your WatchKit app's launch screen
and notifications comes from the CFBundleDisplayName of your WatchKit
app's Info.plist
Bundle name:
The Apple Watch app on the iPhone currently uses the bundle name (not
the bundle display name) of your iOS app, which is specified by the
CFBundleName (or "Bundle name") entry of its Info.plist
You can see other related screenshots and reach more info at Apple Developer page by clicking here.
From my experience:
CFBundleDisplayName is used in the grid of apps on iOS devices
CFBundleName is used in the list of apps stored in iTunes library
Only if Bundle Display Name (CFBundleDisplayName) is not specified, value of Bundle Name (CFBundleName) will be used to displayed under App Icon.
Please note that CFBundleDisplayName is localizable, and it should be used to set the App name shown in iOS Springboard menu & Mac OS X Applications / Mission Control.
In short, don't touch CFBundleName and leave its value as default, i.e. ${PRODUCT_NAME}.
Note that the bundle name is also used as prefix for HTTP user-agent.
CFBundleName is also used in system popups like approving web authentication services.

iPhone & iPad - is it OK to change the product name on Xcode?

I am preparing a update for one of my apps.
I want to change the "product name" of this application in Xcode.
Will this give me any problems? I mean, will users that already have bought the application be able to download the update?
What exactly identifies the application for iTunes and the iPhone? The bundle identifier and version on info.plist?
thanks for any help.
You dont have to change the product name, although if you do it shouldn't matter either. Apps are identified by their bundle identifiers.
Likely what you really want to do is change the display name, which is the 11 characters that appear below your icon on the device. End users generally dont see the "product name" as that is used for the executable or '.app' file name. In which case users will only see it if they look for the resulting .ipa file on their harddrives after purchase form the store.
In your info.plist there is a field for "bundle display name". This is what determines the name displayed under your icon. You can just change it there in the info.plist, keeping in mind that anything over 11 characters gets truncated. You can change this without an issue from apple, although your users might be slightly confused if the name is drastically different.