在我看来,它不像在 iOS 上向用户CFBundleName
展示的任何地方。我相信我已经看过 Mac OS X 的文档(显然 iOS 继承了很多遗留的基础设施),上面说 Bundle Name用于其他用途......我认为它可能是上部菜单中的名称栏,或较低的 Dock 栏。当然,iOS 中都不存在任何东西。
我还发现了这个 Stack Overflow 答案,它现在已经很老了(但有不少赞成票)。这个答案声称 CFBundleName 将是存储应用程序的文件夹的名称。因此,例如,CFBundleName = HelloWorld
应该产生
+- HelloWorld.app
- HelloWorldApplication
如果Executable Name设置为HelloWorldApplication
. 但是,我只是构建了一个简单的程序并在 iOS 5.0 上运行它,而 .app 文件夹的名称不等于CFBundleName
. 所以,如果它曾经那样工作,它似乎不再是。
我已经看到很多参考资料说CFBundleName
应该${PRODUCT_NAME}
在 Xcode 中设置为,这是我一直做的。不是作为技术限制,而是作为 Apple 审查标准,我还看到有人声称CFBundleDisplayName
必须与. CFBundleName
例如,如果它是 的缩短版本是可以的CFBundleName
,但如果它完全不相关,他们可能会拒绝该应用程序。
我还检查了Settings.app和 iTunes 中的列表,但我在这些地方都没有看到Bundle Name。
所以,为了回答你的问题,我不相信这个变量对用户是可见的(在 iOS 上)。
更新:但是,我没有检查任何辅助功能是否可以在任何地方说出这个名字。
此外,这个 SO answer声称这CFBundleName
将是您的应用程序的 iTunes App Store URL 中使用的名称。但是,请参阅下面的@tc. 的评论/示例 URL ...
更新 2:根据下面@honus 的评论,可以向用户显示的一种不寻常的情况是,如果您的应用在其 Info.plist 文件中没有条目。在这种情况下,将显示在 SpringBoard 中的应用程序图标下。CFBundleName
CFBundleDisplayName
CFBundleName