我希望能够复制一个完整的Xcode项目,重命名项目和相关的文件没有Xcode的精神,而不必手动重新导入所有文件到项目。
这个答案是互联网上其他各种StackOverflow帖子和教程的集大成之处,供我将来参考,并帮助其他可能面临同样问题的人。所有的分数都给最后的其他答案。
.xcodeproj
在Xcode中,重命名“管理计划”中的计划,也重命名你可能有的任何目标。
PRODUCT_NAME
因此,在遵循上述步骤之后,你应该有一个复制并重命名的Xcode项目,它应该能够成功地构建和编译,但是你的源代码文件夹仍然会被命名为原始项目中的名称。这不会导致任何编译器问题,但它不是SCM中最清晰的文件结构,等等。要重命名此文件夹而不破坏所有文件链接,请执行以下步骤:
在Finder中重命名源文件夹。这将破坏你的项目,因为Xcode不会自动检测这些变化。所有Xcode文件列表都将失去与实际文件的链接,因此都将变成红色。注意:您可能必须先执行Step 2,然后再返回到此步骤。
.xcodeproject
在Xcode中,选择刚刚在导航窗格中重命名的文件夹。然后在“实用工具”窗格(最右边)单击看起来像深灰色文件夹的图标,就在下拉菜单“位置”下面。从这里,导航到finder中的重命名文件夹,然后单击“选择”。这将自动地重新关联你所有的文件,他们应该不再出现在Xcode导航窗格的红色。
prefix.pch
Info.plist
这应该允许你复制&重命名一个Xcode项目和所有相关文件,而不必手动编辑任何Xcode文件,并冒着把事情搞砸的风险。
非常感谢尼克·洛克伍德和保利Glott为这个问题提供了单独的答案。
我张贴这个,因为我一直在努力重命名XCode中的一个项目。
XCode
重命名项目很好,也很简单,但这并没有重命名源文件夹。下面是我在Xcode 4和5中所做的一步一步的工作,感谢下面的链接。
备份你的项目。
如果你正在使用git,提交任何更改,在进行任何更改之前复制整个项目文件夹并在时光机中备份(这一步不是必需的,但我强烈推荐)。
2-打开你的项目。
3 -缓慢双击或按enter在项目名称(蓝色顶部图标)和重命名为任何你喜欢的。
在你重命名项目并按“enter”后,它会提示自动更改所有与项目名称相关的条目和 如果你愿意,可以取消选择其中的一些。选择所有 .单击“确定”
4-重命名方案
a)点击停止按钮旁边的菜单,选择“管理方案”。
b)在旧的名称方案上单次慢点或按enter键,并将其重命名为任何你喜欢的名称。
c)单击“确定”。
5 -构建并运行以确保它工作正常。
在这一点上,除了类中创建的注释之外,所有重要的项目文件都应该重命名 也没有创建源文件夹。接下来,我们将重命名文件夹 文件系统。 < / p >
6-关闭项目。
重命名主文件夹和源文件夹。
8 -右键单击项目包.xcodeproj文件,并从上下文菜单中选择“Show Package Contents”。用任何文本编辑器打开.pbxproj文件。
9 -搜索并将任何出现的原始文件夹名称替换为新的文件夹名称。
10-保存文件。
11-打开XCode项目,测试。
12 -完成。
我使用这个脚本后,我重命名我的iOS项目。它有助于更改目录名称并使名称保持同步。
http://github.com/ytbryan/rename
注意:你将需要手动更改方案的名称。
我使用Xcode 6+,我只做:
*.xcodeproj or *.xcworkspace
这里完成了,但是窗口Xcode和*.xcodeproj or *.xcworkspace的名称仍然是<old-name>。然后我会:
<old-name>
pop install
<new name>.xcworkspace
再试一件事!
当我复制我所有的文件,打开项目,并重命名它时,所有内容都更改为测试目标的新项目名称除了 !我得到了一个链接错误,说我丢失了一个名为“myOldProjectname.app”的文件。下面是解决方法:
单击您的项目设置并选择您的测试目标
点击构建设置,搜索“test host”
检查这两个文件路径。很可能这两条路径仍然指向您的旧项目名称。
希望有帮助!
对于任何在复制项目后遇到故事板崩溃问题的人,请前往Main。在标识检查器下的故事板。
接下来,检查当前模块是否是正确的重命名模块,而不是旧模块。
从XCode 7开始,这变得容易多了。
更新:XCode 8 link: http://help.apple.com/xcode/mac/8.0/#/dev3db3afe4f < / p >
sh renameXcodeProject.sh <name-of-existing-folder> <name-of-folder-to-create>
我使用简单的BASH脚本重命名。
用法:./rename.sh oldName newName
./rename.sh oldName newName
#!/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