Xcode的Product Name、Bundle Name、Bundle Display 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?

时间: 2024-08-05 13:20:17

Xcode的Product Name、Bundle Name、Bundle Display Name的相关文章

CodeSign error: code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.2'

在真机测试的时候往往会突然出现这样一个错误,code signing is required for product type 'Application' in SDK 'iOS 7.0'  ,就是说代码签名证书不对劲. 解决方案: 1.选择工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 将选项改为:iPhone Developer 2.重新下载你的证书,或

[问题]code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.1'

问题详情描述: 创建 IOS 静态库,运行时报错如下: Check dependencies CodeSign error: code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.1' 解决办法: 一般搞东西都是在 项目的 Target 里搞东西,比如例子中的 DestationKit target ,而忽略 DestationKitTests target, 解决办法和常见的 codesign 一直

Xcode中为何要为设置bundle和App分别设置两份一样的图片资源

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在App设置的bundle中有时也会用到图片资源,而在App中我们往往会用到相同的图片资源,但是我们往往将用到的图片资源拷贝成2份,分别放在bundle和App的文件夹中,那么这是为什么呢? 为什么我们不可以只用同一份图片资源呢? 其实答案很简单,因为iOS上的App不可以从其他应用的沙盒中读取文件,而设置bundle并不是我们App沙盒的一部分,而是

Missing message for key "xxx" in bundle "(default bundle)" for locale zh_CN

参考文章http://programmerslounge.blogspot.com/2013/03/error-missing-message-for-key.html 错误的struts-config.xml配置: <message-resources parameter="pkg.ApplicationResources.properties"/> 解决方法,将上述parameter属性中的.properties后缀去掉: <message-resources p

Xcode导出App一般问题及其解决方法(开发者协议变更及Bundle Id过期问题)

Xcode导出App一般问题及其解决方法 问题一:开发者协议变更问题. 变更后打包会出现如下图A警告,此时点击 "visit developer website"进入Apple开发者网站,登录开发者账号后会出现如图B后,点击"Review Agreement" 进入下一步确认同意条款即可. (图A) (图B) 问题二:Bundle Id过期(expired)问题 过期后打包过程会出现如图C的警告,此事,您需要登录到Apple Developer,(左侧)Certif

关于android中Bundle的使用

  1.Android using Bundle for sharing variables 注:android中使用Bundle来共享变量,下例中Activity1和Activity2通过bundle共享一个变量myValue   Sharing variables between Activities is quite important point during development time of your Application. This  Example suppose Acti

IOS 开发笔记-基础 UI(7)汤姆猫(UIImageView 的序列帧动画、图片加载,方法重构、Bundle 图片素材)

使用UIImageView.UIButton实现一个综合小案例---汤姆猫 回忆:UIImageView 来自UIView,UIView 来自UIResponder,UIButton 来自UIControl,UIControl 来自UIView 单独看实现,代码实现其实比较简单,但是创意很难得,美工要求很高! 是一个了不起的游戏! 功能分析 (1)点击对应的按钮后,让汤姆猫展现对应的动画 步骤分析 (1)搭建UI界面,同时也是准备素材 (2)监听按钮点击 (3)根据点击的按钮执行对应的动画 说明

iOS - 集成Bundle资源文件包

1.Bundle 文件 Bundle 文件,简单理解,就是资源文件包.我们将许多图片.XIB.文本文件组织在一起,打包成一个 Bundle 文件.方便在其他项目中引用包内的资源. Bundle 文件是静态的,也就是说,我们包含到包中的资源文件作为一个资源包是不参加项目编译的.也就意味着,bundle 包中不能包含可执行的文件.它仅仅是作为资源,被解析成为特定的 2 进制数据. 回到顶部 2.制作 Bundle 文件 1.新建 Bundle 项目 创建名为 SourcesBundle(最后要生成的

什么是iOS应用的Bundle ID?

什么是Bundle ID? Bundle ID(Bundle Identifier)是一款iOS应用的唯一标识,应用与Bundle ID之间是唯一对应关系. 请注意:应用新建成功后,Bundle ID将不可修改,如必须修改只能创建一个新的应用,届时App ID.App Key和App Secret也将重新分配,旧版用户将无法收到针对新Bundle ID的推送. 怎样查看应用的Bundle ID? 在Xcode里如下位置可以查看应用的Bundle ID.