我希望能够复制一个完整的Xcode项目,重命名项目和相关的文件没有Xcode的精神,而不必手动重新导入所有文件到项目。


当前回答

我使用简单的BASH脚本重命名。

使用方法:./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这样的文件 如果旧名称/新名称包含空格,将无法工作 如果使用豆荚可能无法工作(未测试) 方案名称不会更改(无论如何项目正常运行和编译)

其他回答

再试一件事!

当我复制所有文件,打开项目,并重命名它时,除了测试目标,所有东西都变成了我的新项目名称!我得到了一个链接错误,说我丢失了一个名为“myOldProjectname.app”的文件。下面是解决方法:

单击项目设置并选择测试目标 点击构建设置,搜索“测试主机” 检查这两个文件路径。很可能这两条路径仍然指向您的旧项目名称。

希望有帮助!

对于任何在复制项目后遇到故事板崩溃问题的人,请前往Main。在标识检查器下的故事板。

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

我使用简单的BASH脚本重命名。

使用方法:./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这样的文件 如果旧名称/新名称包含空格,将无法工作 如果使用豆荚可能无法工作(未测试) 方案名称不会更改(无论如何项目正常运行和编译)

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

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

更新:XCode 8 http://help.apple.com/xcode/mac/8.0/#/dev3db3afe4f

我在重命名我的iOS项目后使用这个脚本。它有助于更改目录名称并使名称保持同步。

http://github.com/ytbryan/rename

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