【问题标题】:How to change the bundle identifier of an app in Xcode 5?如何在 Xcode 5 中更改应用程序的捆绑标识符?
【发布时间】:2013-10-30 08:25:12
【问题描述】:

Xcode 5 不允许我更改包标识符。 com.mycompany. 之后的应用名称部分显示为灰色。

我在 ITC 中创建了一个略有不同的包标识符,我想使用这个新的包标识符。

我必须用正确的标识符创建一个新的 Xcode 项目吗?

【问题讨论】:

  • 快速的方法是重命名您的项目以匹配所需的名称 - 这是因为名称源自 PRODUCT_NAME 变量。
  • 您可以在可执行目标的信息选项卡中手动更改构建标识符 - 它通常定义为com.mycompany.${PRODUCT_NAME:rfc1034identifier},您可以将${PRODUCT_NAME:rfc1034identifier}值更改为所需的包标识符
  • 您还可以在 Build Settings 的 Packaging 部分更改 Product Name 变量,这会更改名称
  • Petesh 的评论:“您也可以在 Build Settings 的 Packaging 部分更改 Product Name 变量,这会更改名称”应该是答案!

标签: iphone xcode xcode5


【解决方案1】:

其实这很简单:

  1. 选择您的目标
  2. 选择“信息”选项卡(您可以通过在项目中找到 plist 文件来执行相同操作)
  3. 搜索“Bundle Identifier”键,你端的值应该是com.mycompany.${PRODUCT_NAME:rfc1034identifier}

如果您想更改灰色字段,只需将“com.mycompany”替换为您想要的任何内容。另一个字段是“产品名称”(从相关键动态读取),您可以通过在“构建设置”上设置“产品名称”键来更改它。你也可以做得很丑,将所有的包标识符更改为你想要的任何东西,但我不建议这样做,因为如果你要添加更多目标,它将是静态的并且更难维护。

【讨论】:

  • 确保在执行此操作后清理您的构建,它将刷新所有名称。这为我节省了数小时的困惑。
  • 这在 Xcode 7 中发生了变化。现在是:$(PRODUCT_BUNDLE_IDENTIFIER)
  • 从 Xcode 7 开始,最好在目标构建设置(来自 Artyom 的屏幕截图)的打包设置中更新它。并且不要忘记干净的构建!
  • 直到我从手机中删除了该应用程序,然后重新构建后才对我有用。我想是有道理的。
【解决方案2】:
  1. 目标部分下选择您的目标。
  2. 转到构建设置选项卡。
  3. 向下滚动到包装
  4. 产品名称更改为所需的名称。

【讨论】:

  • 这是更改包标识符应遵循的方式,因为您遵守 Xcode 的约定,不修改或删除预定义的常量。
  • 好答案。请注意,如果您在应用内购买,则必须手动创建一个新的应用 ID。提交后更改捆绑 ID 可能不好。
【解决方案3】:

在 Xcode 5.1.1 中,您只需重命名 Target 即可。双击目标名称进行更改。

【讨论】:

  • 这个答案比上面的方法干净多了,让Xcode做所有的工作。
  • 同意。 Bundle ID 指向 PRODUCT_NAME。 PRODUCT_NAME 指向 TARGET_NAME。因此更改目标名称将传播到捆绑 ID。在我读到这篇文章之前,我一直期望将目标名称视为目标的属性;没想过点击目标本身来更改其名称。
【解决方案4】:

在您的项目 Info.plist 中(或在项目设置的 Info 选项卡中,相同)将 ${PRODUCT_NAME:rfc1034identifier} 更改为所需的名称。之后它就不会变灰了。

【讨论】:

  • 这实际上是对我来说最准确和最有帮助的答案,而且对于我解释为发帖人可能一直在追求的确切问题......虽然当然总是有一些猜测那。从字面上看,它是“在 -Info.plist 中,通过将“${PRODUCT_NAME:rfc1034identifier}”部分更改为您喜欢的文字文本来编辑捆绑标识符。这将使您能够控制捆绑文本。在我的情况下,这是需要的以匹配我团队的小写约定,同时在主屏幕上显示的应用名称中使用大写。
【解决方案5】:

我也必须为我的项目执行此操作,并且发现在 Xcode 5.1.1 中只需在导航器中重命名项目名称并允许 Xcode 找到您需要自动更改的所有字符串即可轻松完成。只需确保您先签入或创建项目快照即可。

【讨论】:

    【解决方案6】:

    您的捆绑包标识符基于 PRODUCT_NAME。

    默认情况下,PRODUCT_NAME 基于 TARGET_NAME,这很难更改(撰写本文时为 XCode6)。因此,如有必要,请不要害怕在此处强加不同的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 2012-04-10
      • 2015-01-26
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多