在 Xcode 中,我们使用多种配置来编译多个具有不同捆绑 ID 和显示名称的不同应用程序。
虽然“Identity -> Bundle Identifier”正确显示灰色的“”只读值,但这与“Identity -> Display Name”不同,从而导致所有配置都有一个通用名称。
请注意,我们为每个配置的“构建设置 -> 产品名称”属性添加了不同的值,因为 CFBundleDisplayName 的 Info.plist 条目是 $(PRODUCT_NAME)。
我们尝试使用空白的“身份->显示名称”,最初这是有效的(名称最终是配置的“构建设置->产品名称”提供的名称)。
然而,在某些时候(我们认为切换方案时),“身份 -> 显示名称”再次采用通用名称(用于 .app 文件名的名称),这导致了所有不同的“构建设置 -> 产品名称”值被相同的通用名称取代。
这是一个错误吗?我们应该怎么做才能使“身份->显示名称”不可编辑,而是从配置值中获取其值(就像捆绑包 ID 那样)?
注意:我们还尝试了此处提供的所有建议:Xcode 方案更改显示名称 它们不起作用,请参阅答案下面的一些评论。