Xcode的Product Name、Bundle Name、Bundle Display Name

本文详细解释了苹果应用中Bundle Display Name、Executable File及Bundle Name的含义及其相互关系。介绍了如何通过合理设置这些参数来避免中文ProductName导致的编译错误。
部署运行你感兴趣的模型镜像

一直很好奇苹果应用的显示名称的设置。小小研究了一下应用名显示问题,终于弄懂了。

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

?
1
2
3
Bundle Display Name - ${PRODUCT_NAME}
Executable File - ${EXECUTABLE_NAME}
Bundle Name - ${PRODUCT_NAME}

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

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

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

默认情况下Bundle Display Name就等同于Product Name,但在部分情况下如果Product Name为中文字符,会导致编译运行在真机时,第一次必报 Could not inspect the application package. 错误。

我常用的方法是将Product Name设置成为了英文名,而将Bundle Display Name设置为中文名。这样就避免了错误的发生了。
(持续更新中)

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

支付宝的 `bundle identifier` 或 `bundle name` 是开发者在配置移动应用时需要的重要信息之一。通常,这些信息由应用开发者在项目中定义,并且对于 iOS 应用,`bundle identifier` 是唯一的标识符,用于区分 App Store 上的不同应用。 ### 支付宝的 Bundle Identifier 支付宝的官方 `bundle identifier` 为 `com.alipay.iphoneclient`[^4]。这是支付宝在 iOS 平台上使用的标准标识符。需要注意的是,`bundle identifier` 的值是由开发者在 Xcode 中设置的,并且必须符合 Apple 的命名规范,通常以反向域名的形式表示。 ### 如何验证 Bundle Identifier 如果需要验证某个应用的 `bundle identifier`,可以通过以下方法获取: 1. **通过 iTunes 或 Finder**: - 在 macOS Catalina 及更高版本中,打开 Finder,找到已安装的应用。 - 右键点击应用并选择“显示包内容”,然后导航到 `Info.plist` 文件。 - 打开 `Info.plist` 文件,查找 `CFBundleIdentifier` 键对应的值。 2. **通过代码**(适用于开发环境): ```swift let bundleIdentifier = Bundle.main.bundleIdentifier print("Bundle Identifier: \(bundleIdentifier ?? "Not found")") ``` 3. **通过终端命令**: 如果有应用的 `.ipa` 文件,可以使用以下命令提取其 `Info.plist` 内容: ```bash unzip -q your-app.ipa plutil -p Payload/*.app/Info.plist | grep CFBundleIdentifier ``` ### 注意事项 - **Bundle Display Name**:虽然 `bundle display name` 和 `bundle name` 必须保持一定的关联性[^1],但它们并不完全相同。`bundle display name` 是用户在设备上看到的应用名称,而 `bundle name` 则是内部使用的名称。 - **证书和团队 ID**:在开发过程中,确保 `bundle identifier` 与开发者账户中的证书和团队 ID 匹配,否则可能会导致注册失败或签名错误[^3]。 ### 示例代码 以下是一个简单的 Swift 示例,展示如何在代码中访问当前应用的 `bundle identifier`: ```swift if let bundleID = Bundle.main.bundleIdentifier { print("Current App Bundle Identifier: \(bundleID)") } else { print("Failed to retrieve bundle identifier.") } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值