Xcode的Product Name、Bundle Name、Bundle Display Name
博客专区 > yoyoso 的博客 > 博客详情
Xcode的Product Name、Bundle Name、Bundle Display Name
yoyoso 发表于3年前
Xcode的Product Name、Bundle Name、Bundle Display Name
  • 发表于 3年前
  • 阅读 11586
  • 收藏 6
  • 点赞 2
  • 评论 1

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 今天看到一份代码Build Settings中的Product Name与在模拟器/真机上显示的名字不一致,挺奇怪的,以前一直以为Product Name就是显示的应用名。小小研究了一下应用名显示问题,终于弄懂了。

今天看到一份代码Build Settings中的Product Name与在模拟器/真机上显示的名字不一致,挺奇怪的,以前一直以为Product Name就是显示的应用名。小小研究了一下应用名显示问题,终于弄懂了。

通常我们在 info.plist 中,可以看到类似如下配置:

Bundle Display Name - ${PRODUCT_NAME}
Executable File - ${EXECUTABLE_NAME}
Bundle Name - ${PRODUCT_NAME}

相关说明:

Bundle name – is folder name, where your app (including executable file and all resources) will be stored (Cool Program.app). Executable name – is a program binary name, i.e. Cool Program.app/CoolProgram Bundle display name – is what will be shown on iPhone screen, for example Cool Prog (since Cool Program probably will not fit on Springboard). And, Apple claims, that Bundle Display name must correspond to Bundle name, i.e. you cannot use bundle name TheApplication, and bundle display name Something Other

  • Bundle name 简单来说就是 App 安装到 iOS 机子里的 App 文件夹名。

  • Executable name  –  执行程序名,默认与 PRODUCT_NAME 一致。

  • Bundle display name  –  真正显示到用户屏幕上的 App 名称。

可见在模拟器/真机上显示的名字是由Bundle Display Name决定的。默认情况下Bundle Display Name就等同于Product Name,所以就造成了我认为Product Name就是应用显示名的错觉。

另外发现,在部分情况下如果Product Name为中文字符,会导致编译运行在真机时,第一次必报 Could not inspect the application package. 错误,这个可以参考《使用 Xcode6 在 iOS8 设备上调试报错 Could not inspect the application package》。

估计我看的这份代码就是遇到了这种情况,将Product Name设置成为了英文名,而将Bundle Display Name设置为中文名。


参考:

使用 Xcode6 在 iOS8 设备上调试报错 Could not inspect the application package

Bundle Name, Executable Name, Product Name…anything else?

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 48
博文 119
码字总数 42781
×
yoyoso
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: