如何更改iOS应用的名称?


985

前几天,我以一个愚蠢的开发代码名称开始了一个iPhone项目,现在我想更改该项目的名称,因为它快要完成了。

但是我不确定如何使用Xcode进行此操作,尝试在info.plist文件中更改应用程序名称的明显做法,导致签名过程出错(我认为...),并且我的应用程序将无法启动我出现启动器错误。

我想我可以创建一个新项目并复制粘贴所有内容,但是它看起来是如此原始,以至于我希望有一个更加文明的解决方案。


我不得不这样做几次。我使用一个名为“重命名Xcode Project 2.1”的工具。
Nosredna,2009年

有时候,简单的方法仍然不起作用(或者有旧命名的回声等)。我在这里发布了一篇文章,展示了如何通过手动进入项目文件的xml来解决此问题:更改iPhone应用程序的名称
Jeffrey Berthiaume

这是一个免费的实用程序,可以执行此操作并根据我的经验很好地起作用:更改iPhone应用程序的名称
Frank Schmitt 2010年

1
除了重命名yu可以手动执行的plist文件之外,这适用于所有内容。
CodingWithoutComments 2010年

1
@all:没有完全回答。应用程序窗口的标题和应用程序的下拉菜单保留旧名称。@Frank Schmitt:重命名plist文件时,“重命名xCode项目”项目失败。它等待名称Info.plist
JJD

Answers:


995
  1. 转到TargetsXcode
  2. Get Info 在项目目标上(您当前的开发名称)
  3. Product Name在下搜索Packaging。更改您希望新项目名称为的值。

9
我必须先退出XCode并删除构建目录,然后才能使用。
西蒙·伍德赛德

9
另外,请记住在每个配置中都进行更改!(调试,发布,临时,应用商店等)
Tony Eichelberger 2010年

7
对于完全入门的其他人,“目标”位于左侧“组和文件”窗格的内部,旁边有一个红色和白色的目标标志;)
Hamy 2010年

311
在Xcode 4中,您只需双击目标名称并直接在目标列表中进行更改即可。
hallski 2011年

10
@all对于Xcode5确实有一个很好的更新答案,就像魅力一样工作,我认为这是正确的答案,请在这里查看stackoverflow.com/a/20418989/3027848
aledustet 2014年

353

在新版本的Xcode(也是Xcode 5)中,要更改项目名称,请遵循以下简单(尽可能详细)步骤:

注意:在此示例中,我将假设的“样本”名称更改为“测试”名称。

  1. 在项目导航器中的项目根目录上缓慢单击两次,然后使其可编辑。

    在此处输入图片说明

  2. 重命名项目。

    在此处输入图片说明

  3. 在按“ ENTER”后,助手会建议您自动更改所有与项目名称相关的条目,并允许您取消选择其中的一些条目。

    在此处输入图片说明

  4. 按“重命名”,Xcode将完成其余的工作。同时,Xcode可能会询问您有关制作项目快照的选项(非常建议这样做)。

  5. 除了重命名项目外,您可能还想重命名方案,使其与您的新项目名称匹配。

    在此处输入图片说明

  6. 重复类似的步骤1和2,然后按OK。

    在此处输入图片说明 在此处输入图片说明

  7. 而已。

另一种情况... 前面的解释与更改项目名称有关,但是可能您只需要更改显示在主屏幕中应用程序图标下方的显示名称。这些步骤是:

  1. 在“支持文件”组中,找到info.plist(或相关文件)

  2. 找到“捆绑包显示名称”键,然后将值更改为新名称。

    在此处输入图片说明

    在此处输入图片说明

  3. 从模拟器或任何其他测试设备中删除“旧”应用。

  4. 清理并再次重建您的应用程序。

  5. 就是这样,您现在将在主屏幕中看到新的应用程序名称。


3
方案更改对我而言并不顺利:之后只能选择My Mac。值得庆幸的是这个问题很容易解决:stackoverflow.com/questions/8377970/...
马塞尔salathe

1
遇到了与@marcelsalathe相同的问题,他的修复解决了该问题。理想情况下,应将其添加到哈维尔·卡迪兹(Javier Cadiz)的答案中。
mattsven 2014年

Xcode中存在一个错误,其中重命名功能无法正确重命名共享的内部框架。有关更多信息,请参见此处:stackoverflow.com/questions/34749687/…–
史蒂夫·摩瑟

“另一个场景”效果很好!两个注意事项:1.我必须在Info.plist中添加“捆绑包显示名称”,因为默认情况下它不存在(Xcode 7)。2.如果它似乎不起作用,请确保您正在更改“ Supporting Files”文件夹中Info.plist文件中的捆绑包显示名称,如Javier所说。我没有给予足够的关注,而是在“ Supporting Files”文件夹下面的ProjectName-Info.plist文件中进行了更改,想知道为什么什么也没发生。
瑞安

非常感谢您的详细解释!:)
卢卡斯P.18年

195

您可以在info.plist中更改捆绑包的显示名称。就这么简单。

更改“捆绑包显示名称”(而不是“捆绑包名称”)是在应用程序名称中包含诸如“ +”之类的字符的唯一方法。在项目名称中包含特殊字符会导致在上传到应用商店时出错!


6
这比更改目标名称更好,因为它避免了游戏引擎中的冲突和混乱
JqueryToAddNumbers 2013年

我必须在info plist中更改产品名称,还要重命名目标名称。然后,我还必须清理构建目录(在遍历到xcode产品菜单时按住选项键,将有一个清理构建目录的选项)。
j2emanue 2013年

10
这将更改图标下方显示的应用程序名称,而无需更改应用程序ID和配置文件的麻烦。谢谢。接受的答案不再适用(据我了解)。
cloudurfin 2013年

3
到目前为止,这是上乘的解决方案!只需更改图标下的名称,而不更改会使配置文件混乱的捆绑标识符
Matthias Schicker 2013年

如果未显示“捆绑包显示名称”,则只需添加它。
马丁·戴维斯

145

在Xcode 4中,在目标的“构建设置”选项卡下搜索“产品名称”。


5
如果您这样做会导致测试项目无法运行,这将是一个错误的答案
Gabriel Goncalves 2014年

3
...显然还有118个人!
塔什·佩姆希瓦

1
这仅适用于一个问题,它会在您用户的设备上使用新名称创建一个单独的应用程序,而不是重命名他们已经拥有的当前已安装应用程序。更改项目plist中的“捆绑包显示名称”是最好的方法。
MiMo 2015年


39

这就是我在Xcode 4中所做的更改:

  1. 单击您的目标文件(应用程序的第一个主文件)。
  2. 转到构建设置。
  3. 向下滚动,您会发现一个名为“包装”的栏。
  4. 在包装下,您将看到产品名称,您可以更改项目名称。

1
此方法有效,但它还会更改已部署的应用程序名称(任何现有安装都不会“升级”,它将是第二个应用程序)。根据@CodeHunter的答案更改“捆绑显示名称”更好
Orion Edwards


37

如果只想更改显示名称,则可以直接从应用程序的属性文件(plist)更改。

您可以使用以下键添加新行:捆绑包显示名称

这是一个例子

在此处输入图片说明

使用此功能时,将显示您使用此键指定的应用名称。

因此,您可以简单地做到这一点。



19

从Xcode 4.2起,您可以再使用一个选项。只需单击左侧导航窗格顶部的.proj文件名一次即可重命名该文件名。整个项目将被重命名,不仅是目标文件。


18

我在xcode5中喜欢的最好方法是在建筑物设置中更改产品名称。在“建筑物设置”中搜索“产品名称”,然后进行更改。

在此处输入图片说明


17

如果您需要更改应用程序的名称(如iPhone主屏幕上显示的那样),则需要在目标配置而不是项目配置中进行更改。

  1. 在Xcode中展开“目标”组,然后单击其下的项目。它应该共享您的项目的名称,这也是要生成的应用程序的默认名称。

  2. 按Command-I弹出“信息”窗口,然后导航到Build标签。

  3. 设置配置下拉菜单以读取所有配置。

  4. 在“包装”标题下查找名为“产品名称”的设置。

  5. 将该值更改为所需的已编译应用程序名称,用Bugs Bunny永生不朽的话说:Viola!进行清洁然后构建,您的应用程序将使用新名称。


15

在Xcode 4中,单击项目名称以开始重命名。


我看到的设置是“产品名称”而不是“项目名称”-无论如何,更改都是有效的。
乔·里根

旧的iPhone OS 2.x SDK将其称为“程序名称”。在3.0 SDK中将其更改为“产品名称”。

但是Product Name在下面对项目进行重命名Build settings-> Packaging是主要步骤,否则在提交最终版本时会遇到一些问题。

14

如果要更改名称,它将在屏幕上的Xcode 4中的图标正下方显示,请转至Targets-> info-> Bundle Display Name并将其更改为所需的名称。


12

在XCode 8中非常容易更改,在“项目目标”->“常规标识”部分的“显示名称”字段中输入应用程序名称。

在此处输入图片说明


11

另外:您的目标名称可能与您的应用名称相同-请注意,更改目标名称不会更改应用名称-仅更改以下所述的目标属性-才会更改应用名称。


11

对于Xcode 10.2:

尽管这个问题有很多答案,但是我想详细解释整个概念,以便每个人也可以将这些知识应用于Xcode的其他版本或以前的版本。

每个Xcode项目都包含一个或多个目标。据苹果称A target specifies a product to build and contains the instructions for building the product from a set of files in a project or workspace.因此每个目标都是自己的产品(应用)。

更改名称的步骤:

步骤1:转到“ 目标”,然后打开要更改其名称的目标的“ 信息”选项卡。

步骤2:在“ 自定义iOS目标属性”下查看“ 捆绑包名称”键,该属性设置为的默认属性$(PRODUCT_NAME)

在此处输入图片说明

第3步:你要么可以更改软件包名称(不推荐),或者如果你打开直接生成设置选项卡,然后在搜索产品名称下的设置,你会看到产品名称设置为$(TARGET_NAME)

在此处输入图片说明

步骤3A:您可以更改产品名称,也可以通过双击目标来更改目标名称

在此处输入图片说明

因此,同时更改产品名称 (应用程序名称)目标名称将导致相似的结果。但是,如果您只想更改应用程序名称并希望继续使用相同的目标名称,则只需更改产品名称


10

套件显示名称的注释-这是在应用程序菜单中更改名称的正确方法,但是您可能必须在iOS模拟器中重置内容和设置,然后才能看到更改实际生效。


9

您可以修改Product Name而不更改您的Project Name(尤其是目录)。

构建设置>搜索关键字“ 产品名称 ”>更新值


8

为了在一个地方收集所有相关信息,以下是此问题的正式答案 -这是唯一在Xcode 5.1.1上为我工作的问题

只需使用Xcode中的“身份和类型”窗格即可。

在Xcode中使用“身份和类型”窗格


7
  1. 选择左侧最上面的一行(带有项目名称,目标数量等)。
  2. 选择您想重命名的目标。
  3. 再次单击目标名称。
  4. 输入新名称。
  5. 按回车。

7

我看到了许多在主屏幕上更改应用程序名称的方法,并且我认为没有必要编辑.plist文件或更改目标的“构建设置”。

默认情况下,在Xcode 7.2中,文件中甚至没有“捆绑显示名称” plist

默认情况下,目标的“构建设置”标签中的“产品名称”等于$(TARGET_NAME)。恕我直言,这很方便,并不意味着要改变。

因此,您可以像Hallski在他的评论中所说的那样简单地更改目标名称,以获得可接受的答案。我为此制作了图片:在此处输入图片说明


6

仅在xcode 4或更高版本中更改应用程序名称(将与应用程序图标一起显示):

在“组和文件”面板中单击项目文件图标,然后选择“目标”->“构建设置”->“包装”->“产品名称”。单击该行,将弹出一个窗口,在此处输入您的新应用名称。

仅在xcode 4或更高版本中更改项目名称(将与项目图标一起显示):

单击“组和文件”面板中的项目文件图标,从右窗格中选择“项目”(位于目标上方),仅在最右边的窗格中看到(仅在启用“隐藏或显示实用程序”的情况下才可见)。名称。将其编辑为您要为项目命名的新名称。

从模拟器/设备中删除您的应用,清理并运行。更改应反映出来。

而已




5

最简单的方法:选择TARGET名称,双击它,重命名。您将在设备或模拟器上的图标下方看到应用的新名称。


5

使用Javier的方法来重命名我的应用程序效果很好。最后,我只想补充一点点。

清理并重建后,我仍然最终收到Mach-O Linker错误。解决这个问题;在目标下,选择yourProject(在项目导航器中)>在“常规”选项卡下,选择yourProjectTests(测试目标)>,将主机应用程序的值更新为新重命名的项目。


5

在“目标”>“构建设置”>“产品名称”字段中,您可以在此处编辑该字段。


5

我认为有些混乱:

  • 您想要更改项目名称
  • 您是否要在iOS仪表板上更改应用程序名称

通常足以更改后者,只需在plist中添加/修改BUNDLE DISLAY NAME键即可。

最好不要更改项目名称,但可以更改

请注意,捆绑显示名称可以包含空格和特殊字符,但项目不可以。由于文件名路径规则,这样做某些cmd线工具将失败。

甚至可以捆绑显示的名称更多。

因此,除非您还处于初期阶段并且需要更改INTERNAL项目名称,否则请继续使用Bundle Display Name键。


5

  • Product name$(PRODUCT_NAME)):默认为Target name。这对于scheme选择正确的目标很有用
  • Bundle display nameCFBundleDisplayName):默认为Product name。这是显示给您的iOS用户的内容
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.