来自这个古老的问题:What's the difference between "bundle display name" and "bundle name" in cocoa application's info plist

它指向官方文档,其中说:



谁能说出如何在iOS中显示此名称?

我从来没有能够在我的iPhone中显示此值。

最佳答案

在我看来,CFBundleName在iOS上向用户显示的任何位置都不会显示。我相信我已经看过Mac OS X的文档(很明显,iOS继承了iOS的许多传统基础结构),说 bundle 名称用于其他用途...我认为它可能是其中的名称上方的菜单栏,或下方的停靠栏。当然,iOS都不存在。

我还发现了this Stack Overflow answer,它现在已经很旧了(但有很多支持)。此答案声称CFBundleName将是应用程序存储在其中的文件夹的名称。因此,例如,CFBundleName = HelloWorld应该产生

+- HelloWorld.app
    - HelloWorldApplication

如果可执行名称设置为HelloWorldApplication。但是,我只是构建了一个简单程序,然后在iOS 5.0上运行了该程序。.app文件夹名为而不是,其名称等于CFBundleName。因此,如果曾经以这种方式工作过,那么似乎再也没有了。

我已经看到很多引用文献说CFBundleName应该在Xcode中设置为${PRODUCT_NAME},这是我一直在做的事情。并不是作为技术限制,而是作为Apple审查标准,我还看到人们声称CFBundleDisplayName必须与CFBundleName紧密相关。例如,如果它是CFBundleName的简化版本,那是可以的,但是如果它们完全不相关,他们可能会拒绝该应用程序。

我还检查了 Settings.app 和iTunes中的列表,但在这些地方都没有看到 bundle 包名称

因此,要回答您的问题,我认为用户(在iOS上)看不到此变量。

更新:我有而不是,但是,检查了任何可访问性功能是否可能在任何地方都使用此名称。

另外,this SO answer声称CFBundleName将是您的应用程序在iTunes App Store URL中使用的名称。但是,请参阅下面的@tc。的注释/示例URL ...

更新2 :根据下面的@honus的评论,一种不常见的情况下,可以向用户显示CFBundleName的情况是,如果您的应用在其Info.plist文件中没有CFBundleDisplayName条目,就没有条目。在这种情况下,CFBundleName将显示在SpringBoard的应用程序图标下。

关于iphone - 使用CFBundleName的地方,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12146750/

10-09 15:00