将Xcode项目重命名为';t更改文件系统项目文件夹名称-不是重做其他Q';s

将Xcode项目重命名为';t更改文件系统项目文件夹名称-不是重做其他Q';s,xcode,Xcode,使用Xcode 4.5.2 我偶尔想在项目的整个过程中重命名项目,而不在项目的文件系统中留下明显的文件夹名返祖现象 重命名Xcode项目的常规说明无法实现这一点。我已经读过很多遍了。他们只走了这么远。它们以原始项目名称保留主目录(与.xcode.proj文件处于同一级别)。叫我挑剔,但我不喜欢这样。因此,我努力改变它如下 我从通常的说明开始,然后尝试在Xcode和Finder中重命名剩余的原始文件夹名。结局很糟。以下是我遵循的步骤。它应该是可复制的 我们将尝试将名为“JoeSchmoe”的项目更

使用Xcode 4.5.2

我偶尔想在项目的整个过程中重命名项目,而不在项目的文件系统中留下明显的文件夹名返祖现象

重命名Xcode项目的常规说明无法实现这一点。我已经读过很多遍了。他们只走了这么远。它们以原始项目名称保留主目录(与.xcode.proj文件处于同一级别)。叫我挑剔,但我不喜欢这样。因此,我努力改变它如下

我从通常的说明开始,然后尝试在Xcode和Finder中重命名剩余的原始文件夹名。结局很糟。以下是我遵循的步骤。它应该是可复制的

我们将尝试将名为“JoeSchmoe”的项目更改为“JoeSchmoe_1”

执行通常的项目重命名过程吗

  • 创建一个新的Xcode实用程序项目,名为:“JoeSchmoe”。使用故事板和ARC
  • 构建、运行和测试功能,以验证一切正常。它是。停下来
  • 点击cmd-shift-J
  • 打开右侧的实用程序面板
  • 在Identity下,将项目名称更改为“JoeSchmoe_1”。Xcode将询问您,“重命名内容项目项?”单击“重命名”
  • 建造。它应该成功。确实如此
  • 问题

  • 在项目导航器中,请注意项目中的主文件夹仍然命名为“JoeSchmoe”
  • 将该文件夹的名称更改为JoeSchmoe_1
  • 建造。它应该成功。确实如此。我们结束了,对吗?让我们看看这个项目的文件系统 退出Xcode

  • 在Finder中,打开包含新重命名和正在工作的“JoeSchmoe_1.xcode.proj”的文件夹 (它的包含文件夹仍然命名为“JoeSchmoe”。现在还可以。只要它包含.Xcode.proj文件以及相关文件和目录,我们就可以在不影响Xcode的情况下将其更改为任何内容。我们不必管它。)

  • 在该目录中(与JoeSchmoe_1.xcode.proj文件处于同一级别),请注意,主项目文件夹仍然命名为“JoeSchmoe”

  • 将此“JoeSchmoe”文件夹的名称更改为“JoeSchmoe_1”。(我们预计这会破坏项目,因为我们知道Xcode仍在寻找“JoeSchmoe”文件夹,因为它没有为我们更改它。)

  • 启动Xcode

  • 建造。正如预期的那样,它失败了
  • 请注意,项目导航器中的所有文件名现在都是红色的,这意味着找不到文件。(我们预料到了这一点。现在我们要修复它。)

  • 在项目导航器中,选择项目(顶部图标),然后选择目标->构建设置->打包->Info.plist文件

  • 请注意,Info.plist文件设置行中的文件路径名命名为:JoeSchmoe/JoeSchmoe_1-Info.plist!!目录仍然具有旧的项目名称。但在文件系统中,我们只是更改了它。让我们将其与文件系统中的内容相同

  • 将其名称更改为JoeSchmoe_1/JoeSchmoe_1-Info.plist

  • 重新验证文件系统中的directoryname/文件名是否相同,以及Xcode Packaging->Info.plist设置中的内容是否相同

  • 如果是,项目应该构建。对吧?

  • 它失败了。所有项目文件都是红色的(表示找不到)

  • 尝试清理项目(产品菜单->清理)

  • 退出Xcode,重新启动并构建

  • 和以前一样,它失败了
  • 在这一点上,我没有一个理论来解释它为什么会失败,除了假设有一个Xcode设置需要在我还没有发现的地方进行更改。到处找。我被难住了


    我遗漏了什么?

    因为他们去掉了Xcode 3中的功能,可以轻松更改项目名称,所以手动操作是一件痛苦的事情。我在mac strore Project Replicator for Xcode 4中发现了一个很棒的应用程序,它可以复制您的项目,并让您随意命名。我已经用了一段时间了,从来没有遇到过问题,我买它的时候只花了1美元


    GW

    在重命名项目(包括finder文件夹)时,我必须更改的最后一件事是“Build Settings->Prefix Header”下的设置。它仍然指向一个不再存在的finder文件夹,编译器会抛出一个filenotfound错误


    一旦我将其更改为新的内部项目文件夹,一切正常,并且我能够按照预期构建项目。

    查看此答案以手动解决问题


    谢谢你的回复。但2012年10月11日对“Project Replicator”的一篇评论称,它不适用于Xcode 4.5。有什么方法可以手动完成吗?真的吗?嗯,我刚刚用过它,我正在运行Xcode 4.5.2。对不起,我不知道如何手动操作。天哪,你说得对!它只是在我上面概述的同一个测试中非常有效。非常感谢。嗯,我发现它在新创建的项目上非常有效,如上所述,但在旧的工作项目上,它不会在与项目文件相同的级别上更改主文件夹的项目子文件夹。可能是因为我以前在里面手工摆弄过什么东西。只是猜测而已。所以如果有人知道怎么做的话,我仍然对手工过程感兴趣。同时,“项目复制器”也很有用。