复制并重命名Xcode项目&

Duplicate and rename Xcode project & associated folders

我希望能够复制整个Xcode项目,重命名项目和相关的文件,而不需要使用Xcode,也不需要手动将所有文件重新导入到项目中。


这个答案是围绕互联网的各种其他StackOverflow文章和教程的顶点,它们被带到一个地方供我将来参考,并帮助其他任何可能面临同样问题的人。最后给出的其他答案均为满分。

复制Xcode项目

  • 在finder中,将项目文件夹复制到新项目的所需位置。在此阶段不要重命名.xcodeproj文件名或任何关联的文件夹。

  • 在Xcode中,重命名项目。从导航器窗格(左窗格)中选择项目。在实用程序窗格(右窗格)中,重命名项目,接受Xcode建议的更改。

  • 在Xcode中,重命名"管理方案"中的方案,还可以重命名您可能拥有的任何目标。

  • 如果您没有使用在末尾包含当前产品名称的默认捆绑标识(这样将自动更新),那么将您的捆绑标识更改为将用于重复项目的新捆绑标识。

重命名源文件夹

因此,在执行上述步骤之后,您应该拥有一个复制的、重命名的Xcode项目,该项目应该能够成功地构建和编译,但是您的源代码文件夹仍然会像在原始项目中那样命名。这不会导致任何编译器问题,但对于在SCM中导航的人来说,它不是最清晰的文件结构。要在不中断所有文件链接的情况下重命名此文件夹,请执行以下步骤:

  • 在查找器中,重命名源文件夹。这将中断您的项目,因为Xcode不会自动检测更改。所有Xcode文件列表都将丢失与实际文件的链接,因此都将变为红色。

  • 在Xcode中,单击您重命名的虚拟文件夹(这很可能在顶部,就在您的实际.xcodeproject下),重命名此文件夹以匹配查找程序中的名称,这不会修复任何问题,严格来说这不是必需的步骤,但文件名匹配很好。

  • 在Xcode中,选择刚刚在导航窗格中重命名的文件夹。然后在实用程序窗格(最右边)中,单击"位置"下拉菜单下看起来像深灰色文件夹的图标。从这里,导航到查找器中重命名的文件夹,然后单击"选择"。这将自动重新关联所有文件,并且它们在Xcode导航窗格中不再显示为红色。

Icon to click

  • 在"项目/目标生成"设置中,搜索旧文件夹名称,并手动重命名找到的所有事件。通常有一个用于prefix.pch和一个用于info.plist,但可能还有更多。

  • 如果您使用任何第三方库(testfirght/hockeyapp/etc),您还需要搜索"库搜索路径",并在此处重命名出现的任何旧文件名。

  • 对项目可能包含的任何单元测试源代码文件夹重复此过程,过程相同。

这将允许您复制和重命名Xcode项目和所有相关文件,而无需手动编辑任何Xcode文件,并可能造成混乱。

信用

感谢Nick Lockwood和Pauly Glott为这个问题提供了单独的答案。

  • 复制Xcode4项目
  • 重命名Xcode4项目和实际文件夹


我张贴这篇文章是因为我在重命名XCode中的一个项目时一直在挣扎。

重命名项目既好又简单,但这不会重命名源文件夹。下面是我在xcode 4和xcode 5中所做的一步一步的工作,感谢下面的链接。

参考链接:重命名项目。重命名源文件夹和其他文件。

1-备份项目。

如果您使用的是Git,请提交任何更改,在进行任何更改之前复制整个项目文件夹并备份Time Machine(这一步不是必需的,但我强烈建议)。

2-打开项目。

3-双击或点击项目名称(蓝色顶部图标)上的Enter键,然后将其重命名为您喜欢的名称。

NOTE: After you rename the project and press ‘enter’ it will suggest to automatically change all project-name-related entries and
will allow you to de-select some of them if you want. Select all of
them and click ok.

4-重命名方案

a)单击"停止"按钮旁边的菜单,然后选择"管理方案"。

b)在旧名称方案上单击或按Enter键,然后将其重命名为您喜欢的名称。

点击"确定"。

5-构建并运行以确保其正常工作。

NOTES: At this point all of the important project files should be renamed except the comments in the classes created when the project
was created nor the source folder. Next we will rename the folder in
the file system.

6-关闭项目。

7-重命名主文件夹和源文件夹。

8-右键单击项目包.xcodeproj文件,从上下文菜单中选择"显示包内容"。用任何文本编辑器打开.pbxproj文件。

9-搜索并用新文件夹名替换出现的原始文件夹名。

10-保存文件。

11-打开Xcode项目,测试它。

12 -完成。


从Xcode7开始,这变得容易多了。

苹果公司在其网站上记录了这一过程:https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/renamingproject/renamingproject.html

更新:xcode 8链接:http://help.apple.com/xcode/mac/8.0//dev3db3afe4f


重命名iOS项目后,我将使用此脚本。它有助于更改目录名称并使名称同步。

http://github.com/ytbryan/rename

注意:您需要手动更改方案的名称。


在"InstantOpencvforiOS"这本书的示例代码中,我发现了一个bash脚本,它将一个项目从一个文件夹复制到另一个文件夹。做了一点研究,我发现了一篇博客文章,作者似乎是该脚本的原始作者:http://mohrt.blogspot.it/2009/01/renamination-xcode-project-from-command.html,您可以从中下载该脚本。我试了一下,然后像这样从终端运行它

1
    sh renameXcodeProject.sh <name-of-existing-folder> <name-of-folder-to-create>

工作良好。使用文本编辑器打开文件时可以找到其他信息。希望有所帮助


我正在使用简单的bash脚本重命名。

用法:./rename.sh oldName newName

1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

OLDNAME=$1
NEWNAME=$2

export LC_CTYPE=C
export LANG=C
find . -type f ! -path".*/.*" -exec sed -i '' -e"s/${OLDNAME}/${NEWNAME}/g" {} +

mv"${OLDNAME}.xcodeproj""${NEWNAME}.xcodeproj"
mv"${OLDNAME}""${NEWNAME}"

笔记:

  • 此脚本将忽略所有文件,如.git.DS_Store
  • 如果旧名称/新名称包含空格,则不起作用
  • 如果使用pods(未测试),则可能无法工作。
  • 方案名称不会更改(无论如何,项目运行和编译正常)

  • 对于在复制项目后出现故事板崩溃问题的任何其他人,请转到标识检查器下的main.storyboard。

    接下来,检查当前模块是否是正确重命名的模块,而不是旧模块。


    还有一件事要尝试!

    当我复制了所有的文件,打开项目,并将其重命名时,除了测试目标之外,所有内容都更改为我的新项目名称!我收到一个链接器错误,说我缺少一个名为"myoldprojectname.app"的文件。以下是修复它的方法:

  • 单击项目设置并选择测试目标enter image description here

  • 单击构建设置并搜索"测试主机"enter image description here

  • 检查这两个文件路径。很可能这两条路径仍然指向您的旧项目名称。enter image description here

  • 希望有帮助!


    我使用Xcode 6+,我只需要:

    • 将项目文件夹中的所有文件复制到新文件夹(使用新名称)。
    • 打开*.xcodeproj or *.xcworkspace
    • 更改项目名称。
    • 单击模式并删除当前的chema并添加新的chema。

    这里已经完成了,但是窗口xcode和*.xcodeproj or *.xcworkspace的名称仍然是。然后我这样做:

    • pop install
    • 打开.xcworkspace