From this old question: What's the difference between "bundle display name" and "bundle name" in cocoa application's info plist
It points to the official docs, which say:
CFBundleName
CFBundleName (String – iOS, 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 app’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.”
Can anyone tell how to show this name in iOS?
I was never able to show this value in my iPhone.
Best Answer
It doesn't look to me like
CFBundleName
shows anywhere to the user, on iOS. I believe I've seen documentation for Mac OS X (which obviously iOS inherits a lot of legacy infrastructure from), that says that the Bundle Name is used for something else ... I think it might have been the name in the upper Menu bar, or the lower Dock bar. Neither thing exists in iOS, of course.I also found this Stack Overflow answer, which is now quite old (but with quite a few upvotes). This answer claims that CFBundleName would be the name of the folder that the app is stored in. So, for example,
CFBundleName = HelloWorld
should produceIf the Executable Name was set to be
HelloWorldApplication
. However, I just built a simple program and ran it on iOS 5.0, and the .app folder was not named equal toCFBundleName
. So, if it ever worked that way, it doesn't seem to any more.I have seen quite a few references that say that
CFBundleName
should be left set to${PRODUCT_NAME}
in Xcode, which is what I always do. Not as a technical limitation, but as an Apple review criterion, I've also seen people claim thatCFBundleDisplayName
must be closely related toCFBundleName
. For example, it's ok if it's a shortened version ofCFBundleName
, but that they might reject the app if it's unrelated altogether.I also checked the listing in Settings.app, and in iTunes, and I didn't see the Bundle Name either of those places.
So, to answer your question, I don't believe this variable is visible to the user (on iOS).
Update: I have not, however, checked whether or not any accessibility features might speak this name anywhere.
Also, this SO answer claims that
CFBundleName
will be the name used in the iTunes App Store URL for your app. But, see @tc.'s comment/example URL below ...Update 2: per @honus's comment below, one unusual scenario where
CFBundleName
can be shown to the user is if your app has no entry forCFBundleDisplayName
in its Info.plist file. In that case,CFBundleName
will be shown under the app icon in SpringBoard.