我希望能够复制整个Xcode项目,重命名项目和相关的文件,而Xcode去精神,而不必手动重新导入所有文件到项目。
ssm49v7z1#
这个答案是互联网上各种其他StackOverflow帖子和教程的高潮,这些帖子和教程被带到一个地方供我将来参考,并帮助其他可能面临同样问题的人。最后,所有的信用都被给予了其他答案。
1.在Finder中,将项目文件夹复制到新项目的所需位置。在此阶段不要重命名.xcodeproj文件名或任何关联的文件夹。1.在Xcode中,重命名项目。从导航器窗格(左窗格)中选择项目。在Utilities窗格(右窗格)重命名你的项目,接受Xcode建议的更改。1.在Xcode中,重命名“管理方案”中的方案,也重命名您可能拥有的任何目标。1.如果您没有使用默认的Bundle标识符,它在末尾包含当前PRODUCT_NAME(因此将自动更新),则将您的Bundle标识符更改为您将用于重复项目的新标识符。
.xcodeproj
PRODUCT_NAME
因此,在完成上述步骤后,您应该拥有一个复制并重命名的Xcode项目,该项目应该能够成功构建和编译,但您的源代码文件夹仍将与原始项目中的名称相同。这不会导致任何编译器问题,但对于人们在SCM等中导航来说,它不是最清晰的文件结构。要重命名此文件夹而不中断所有文件链接,请执行以下步骤:1.在Finder中,重命名源文件夹。这会破坏你的项目,因为Xcode不会自动检测到更改。所有的Xcode文件列表都将失去它们与实际文件的链接,所以都将变成红色。* 注意:您可能需要先执行步骤2,然后再返回此步骤。*1.在Xcode中,单击您重命名的虚拟文件夹(这可能就在顶部,就在您实际的.xcodeproject下面)重命名它以匹配Finder中的名称,这不会修复任何问题,严格来说不是必需的步骤,但文件名匹配是很好的。1.在Xcode中,在导航窗格中选择刚刚重命名的文件夹。然后在实用程序窗格(最右边)中单击看起来像深灰色文件夹的图标,就在“位置”下拉菜单下面。从此处,导航到查找器中重命名的文件夹,然后单击“选择”。这将自动重新关联您的所有文件,并且它们应该不再在Xcode导航窗格中显示为红色。
.xcodeproject
1.在项目/目标生成设置中,搜索旧文件夹名称并手动重命名找到的任何匹配项。通常有一个用于prefix.pch,一个用于Info.plist,但可能有更多。1.如果您使用任何第三方库(Testflight/Hockeyapp/etc),您还需要搜索“库搜索路径”并在此处重命名旧文件名。1.对项目可能包含的任何单元测试源代码文件夹重复此过程,过程相同。这应该允许您复制和重命名Xcode项目和所有相关文件,而不必手动编辑任何Xcode文件,并冒着把事情搞砸的风险。
prefix.pch
Info.plist
非常感谢Nick Lockwood和Pauly Glott为这个问题提供了单独的答案。
svmlkihl2#
我张贴这是因为我一直在挣扎时,重命名一个项目在XCode。重命名项目很好很简单,但是这并没有重命名源文件夹。下面是我在Xcode 4和5中所做的一步一步地介绍了我在Xcode 4和5中工作得很好的工作,感谢下面的链接。参考链接:Rename Project.Rename Source Folder and other files.
XCode
1-备份您的项目。
如果你使用的是git,提交任何更改,复制整个项目文件夹,并在进行任何更改之前在time machine中备份(这一步不是必需的,但我强烈推荐)。
2-打开项目。**3-**在项目名称(蓝色顶部图标)上缓慢双击或按Enter键,然后将其重命名为您喜欢的任何名称。**注意:**重命名项目并按下“enter”后,它将建议自动更改所有与项目名称相关的条目,并允许您根据需要取消选择其中一些条目。选择所有选项并单击“确定”。4-重命名方案
在Xcode中有一个重命名项目的工具,我还没有尝试过足够的评论。https://github.com/appculture/xcode-project-renamer
cnjp1d6j3#
从XCode 7开始,这变得更容易了。Apple在其网站上记录了这一过程:https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html更新:XCode 8链接: www.example.com
n8ghc7c14#
我在重命名我的iOS项目后使用此脚本。它有助于更改目录名称并使名称同步。http://github.com/ytbryan/rename
**注意:**您需要手动更改方案的名称。
yks3o0rb5#
我使用简单的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}"
备注:1.此脚本将忽略所有文件,如.git和.DS_Store1.如果旧名称/新名称包含空格,则不起作用1.如果使用pod(未测试),可能无法工作1.方案名称将不会更改(无论如何,项目将正常运行和编译)
.git
.DS_Store
pxq42qpu6#
在"Instant OpenCV for iOS"这本书的示例代码中,我发现了一个bash脚本,它可以将项目从一个文件夹复制到另一个文件夹。做了一点研究,我发现了一个博客文章,似乎是脚本的原作者:http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html,您可以下载script。我试了一下,从这样的终端运行它
sh renameXcodeProject.sh <name-of-existing-folder> <name-of-folder-to-create>
工作正常。使用文本编辑器打开文件可以找到其他信息。希望能帮上忙
qrjkbowd7#
我使用Xcode 6+,我只是做:
*.xcodeproj or *.xcworkspace
这里完成了,但窗口名称Xcode和*.xcodeproj or *.xcworkspace仍然是<old-name>。那我就做了
<old-name>
pop install
<new name>.xcworkspace
ndh0cuux8#
还有一件事要尝试!当我复制了所有的文件,打开了项目,并重新命名它时,所有的东西都变成了我的新项目名称 * 除了 * 测试目标!我得到一个链接器错误,说我丢失了一个名为“ www.example.com ”。以下是修复它的方法:1.单击项目设置并选择测试目标x1c 0d1x1.点击构建设置并搜索“test host”
1.检查这两个文件路径。很有可能这两条路径仍然指向您的旧项目名称。
希望有帮助!
mec1mxoz9#
对于任何其他人在复制项目后遇到故事板崩溃的问题,请转到Main。在Identity Inspector下的脚本。接下来,检查当前模块是否是正确的重命名模块,而不是旧模块。
9条答案
按热度按时间ssm49v7z1#
这个答案是互联网上各种其他StackOverflow帖子和教程的高潮,这些帖子和教程被带到一个地方供我将来参考,并帮助其他可能面临同样问题的人。最后,所有的信用都被给予了其他答案。
复制Xcode项目
1.在Finder中,将项目文件夹复制到新项目的所需位置。在此阶段不要重命名
.xcodeproj
文件名或任何关联的文件夹。1.在Xcode中,重命名项目。从导航器窗格(左窗格)中选择项目。在Utilities窗格(右窗格)重命名你的项目,接受Xcode建议的更改。
1.在Xcode中,重命名“管理方案”中的方案,也重命名您可能拥有的任何目标。
1.如果您没有使用默认的Bundle标识符,它在末尾包含当前
PRODUCT_NAME
(因此将自动更新),则将您的Bundle标识符更改为您将用于重复项目的新标识符。重命名源文件夹
因此,在完成上述步骤后,您应该拥有一个复制并重命名的Xcode项目,该项目应该能够成功构建和编译,但您的源代码文件夹仍将与原始项目中的名称相同。这不会导致任何编译器问题,但对于人们在SCM等中导航来说,它不是最清晰的文件结构。要重命名此文件夹而不中断所有文件链接,请执行以下步骤:
1.在Finder中,重命名源文件夹。这会破坏你的项目,因为Xcode不会自动检测到更改。所有的Xcode文件列表都将失去它们与实际文件的链接,所以都将变成红色。* 注意:您可能需要先执行步骤2,然后再返回此步骤。*
1.在Xcode中,单击您重命名的虚拟文件夹(这可能就在顶部,就在您实际的
.xcodeproject
下面)重命名它以匹配Finder中的名称,这不会修复任何问题,严格来说不是必需的步骤,但文件名匹配是很好的。1.在Xcode中,在导航窗格中选择刚刚重命名的文件夹。然后在实用程序窗格(最右边)中单击看起来像深灰色文件夹的图标,就在“位置”下拉菜单下面。从此处,导航到查找器中重命名的文件夹,然后单击“选择”。这将自动重新关联您的所有文件,并且它们应该不再在Xcode导航窗格中显示为红色。
1.在项目/目标生成设置中,搜索旧文件夹名称并手动重命名找到的任何匹配项。通常有一个用于
prefix.pch
,一个用于Info.plist
,但可能有更多。1.如果您使用任何第三方库(Testflight/Hockeyapp/etc),您还需要搜索“库搜索路径”并在此处重命名旧文件名。
1.对项目可能包含的任何单元测试源代码文件夹重复此过程,过程相同。
这应该允许您复制和重命名Xcode项目和所有相关文件,而不必手动编辑任何Xcode文件,并冒着把事情搞砸的风险。
积分
非常感谢Nick Lockwood和Pauly Glott为这个问题提供了单独的答案。
svmlkihl2#
我张贴这是因为我一直在挣扎时,重命名一个项目在
XCode
。重命名项目很好很简单,但是这并没有重命名源文件夹。下面是我在Xcode 4和5中所做的一步一步地介绍了我在Xcode 4和5中工作得很好的工作,感谢下面的链接。
参考链接:
Rename Project.
Rename Source Folder and other files.
1-备份您的项目。
如果你使用的是git,提交任何更改,复制整个项目文件夹,并在进行任何更改之前在time machine中备份(这一步不是必需的,但我强烈推荐)。
2-打开项目。
**3-**在项目名称(蓝色顶部图标)上缓慢双击或按Enter键,然后将其重命名为您喜欢的任何名称。
**注意:**重命名项目并按下“enter”后,它将建议自动更改所有与项目名称相关的条目,并允许您根据需要取消选择其中一些条目。选择所有选项并单击“确定”。
4-重命名方案
5 -构建并运行,以确保它正常工作。
**注意:**此时,除了创建项目时创建的类中的注解和源文件夹外,所有重要的项目文件都应重命名。接下来我们将重命名文件系统中的文件夹。
6-关闭项目。
7-重命名主文件夹和源文件夹。
**8-**右键单击项目bundle
.xcodeproj
文件,从上下文菜单中选择“显示包内容”。使用任意文本编辑器打开.pbxproj文件。**9-**搜索任何出现的原始文件夹名称,并将其替换为新文件夹名称。
10-保存文件。
11-打开XCode项目,测试它。
12-完成
2019年10月11日编辑:
在Xcode中有一个重命名项目的工具,我还没有尝试过足够的评论。https://github.com/appculture/xcode-project-renamer
cnjp1d6j3#
从XCode 7开始,这变得更容易了。
Apple在其网站上记录了这一过程:https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html
更新:XCode 8链接: www.example.com
n8ghc7c14#
我在重命名我的iOS项目后使用此脚本。它有助于更改目录名称并使名称同步。
http://github.com/ytbryan/rename
**注意:**您需要手动更改方案的名称。
yks3o0rb5#
我使用简单的BASH脚本进行重命名。
用法:
./rename.sh oldName newName
备注:
1.此脚本将忽略所有文件,如
.git
和.DS_Store
1.如果旧名称/新名称包含空格,则不起作用
1.如果使用pod(未测试),可能无法工作
1.方案名称将不会更改(无论如何,项目将正常运行和编译)
pxq42qpu6#
在"Instant OpenCV for iOS"这本书的示例代码中,我发现了一个bash脚本,它可以将项目从一个文件夹复制到另一个文件夹。
做了一点研究,我发现了一个博客文章,似乎是脚本的原作者:http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html,您可以下载script。我试了一下,从这样的终端运行它
工作正常。
使用文本编辑器打开文件可以找到其他信息。希望能帮上忙
qrjkbowd7#
我使用Xcode 6+,我只是做:
*.xcodeproj or *.xcworkspace
这里完成了,但窗口名称Xcode和
*.xcodeproj or *.xcworkspace
仍然是<old-name>
。那我就做了pop install
<new name>.xcworkspace
ndh0cuux8#
还有一件事要尝试!
当我复制了所有的文件,打开了项目,并重新命名它时,所有的东西都变成了我的新项目名称 * 除了 * 测试目标!我得到一个链接器错误,说我丢失了一个名为“ www.example.com ”。以下是修复它的方法:
1.单击项目设置并选择测试目标x1c 0d1x
1.点击构建设置并搜索“test host”
1.检查这两个文件路径。很有可能这两条路径仍然指向您的旧项目名称。
希望有帮助!
mec1mxoz9#
对于任何其他人在复制项目后遇到故事板崩溃的问题,请转到Main。在Identity Inspector下的脚本。
接下来,检查当前模块是否是正确的重命名模块,而不是旧模块。