我有一个名为XXX
的项目。我想将此项目重命名为YYY
。
请注意,XXX
是一个非常常见的术语(例如"数据"或简称"项目"),因此简单的RegEx搜索和替换是不可能,没有破坏项目配置文件的风险。
我当前的项目目录包含以下项目:
XXX
XXXTests
XXX.xcodeproj
我想将它们重命名为:
YYY
YYYTests
YYY.xcodeproj
...分别在我的项目文件中反映了必要的更改。
如何在不必手动创建和填充新项目的情况下完成此操作?
编辑:这已成为我最热烈的问题,这绝对是荒谬的:p
答案 0 :(得分:791)
Info.plist
和Product bundle identifier
Info.plist
Product Identifier
终于,您已完成并可以重建( Command + Shift + K 清理, Command + B 构建)
答案 1 :(得分:163)
添加到@ luke-west的优秀答案:
OLD.xcworkspace
重命名为NEW.xcworkspace
。Podfile
。您应该看到带有OLD名称的target
子句。将其更改为新。OLD.podspec
文件。rm -rf Pods/
pod install
。Build Phases
标签。Link Binary With Libraries
下,查找libPods-OLD.a
并删除
它。答案 2 :(得分:37)
XCode 11.0 +。
现在真的很简单。只需转到XCode窗口的Project Navigator
左面板。
按Enter
使其可以重命名,就像更改文件夹名称一样。
只需在此处更改新名称,XCode就会要求您重命名其他内容。
在这里轻按Rename
,您就完成了。
如果您对根文件夹名称感到困惑,为什么它没有更改,那么它只是一个文件夹。刚刚用新名称重命名了。
答案 3 :(得分:30)
请谨慎cd
前往非GIT存储处⚠️
/NewProjectFolder
OUTSIDE您的git存储库。 ⚠️更改为.git可能会损坏您的git索引☠现在我们要将项目从oldName
重命名为NewProject
。
/NewProjectFolder
。cd /Path/to/your/NewProjectFolder
brew install rename ack
find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'NewProject'
find . -name 'oldName*'
ack --literal --files-with-matches 'oldName' --print0 | xargs -0 sed -i '' 's/oldName/NewProject/g'
ack --literal 'oldName'
pod install
NewProjectFolder
添加到您的存储库。答案 4 :(得分:11)
有一个名为Xcode Project Renamer
的GitHub项目:
它应该从Xcode项目目录的根目录执行,并使用两个字符串参数调用:$ OLD_PROJECT_NAME& $ NEW_PROJECT_NAME
脚本递归遍历所有文件和目录, 包括Xcode项目或工作区文件,并替换所有出现的内容 带有$ NEW_PROJECT_NAME字符串的$ OLD_PROJECT_NAME字符串(两者都在 每个文件的名称和内容)。
答案 5 :(得分:6)
更改项目名称;
2.在“文件”检查器的“标识和类型”部分中,在“名称”字段中输入新名称。
3.Press Return。
将显示一个对话框,列出项目中可以重命名的项目。该对话框包括预览更改后项目的显示方式。
要有选择地重命名项目,请禁用您不想重命名的任何项目的复选框。要仅重命名您的应用,请保留所选的应用并取消选择所有其他项目。
按“重命名”
答案 6 :(得分:4)
关注@ Luke-West的+ @ Vaiden解决方案时的额外说明:
如果你的方案没有改变(仍然显示我的mac)在停止按钮旁边的左上角:
另外,我没有必要使用@ Vaiden解决方案的第3步。只需在终端中运行rm -rf Pods/
即可删除所有旧的pod文件
我也没有必要在@ Vaiden的解决方案中使用第9步,而是在链接二进制库下删除了名为framework的OLD项目(新命名的框架已经存在)
所以更新的步骤如下:
第1步 - 重命名项目
第2步 - 重命名方案
第3步 - 使用资源重命名文件夹
第4步 - 重命名构建plist数据
步骤5处理Podfile
rm -rf Pods/
在成功完成所有步骤后,您应该能够构建没有错误
答案 7 :(得分:2)
除了Luke和Vaiden建议的所有步骤之外,我还必须重命名Storyboard中的所有customModule属性以匹配新名称,并且必须区分大小写。
答案 8 :(得分:1)
添加到Luke West接受的答案中。如果您有任何权利: