如何完全重命名Xcode项目(即包含文件夹)?

时间:2015-10-27 14:06:26

标签: xcode ide rename batch-rename

我有一个名为XXX的项目。我想将此项目重命名为YYY

请注意,XXX是一个非常常见的术语(例如"数据"或简称"项目"),因此简单的RegEx搜索和替换是不可能,没有破坏项目配置文件的风险。

我当前的项目目录包含以下项目:

  • XXX
  • XXXTests
  • XXX.xcodeproj

我想将它们重命名为:

  • YYY
  • YYYTests
  • YYY.xcodeproj

...分别在我的项目文件中反映了必要的更改。

如何在不必手动创建和填充新项目的情况下完成此操作?

编辑:这已成为我最热烈的问题,这绝对是荒谬的:p

9 个答案:

答案 0 :(得分:791)

第1步 - 重命名项目

  1. 在Xcode视图左侧的“项目导航器”中单击要重命名的项目。
  2. 在右侧选择“文件检查器”,项目名称应位于“身份和类型”下,将其更改为新名称。
  3. 点击下拉菜单中的“重命名”
  4. 第2步 - 重命名方案

    1. 在顶部栏(“停止”按钮附近),您的OLD产品有一个方案,点击它,然后转到“管理方案”
    2. 单击方案中的OLD名称,它将变为可编辑状态,更改名称
    3. 步骤3 - 使用您的资产重命名文件夹

      1. 退出Xcode
      2. 在正确命名的主文件夹中,有一个新命名的xcodeproj文件,其中包含错误命名的OLD文件夹。将OLD文件夹重命名为新名称
      3. 重新打开项目,您将看到一条警告:“文件夹OLD不存在”,取消警告
      4. 在左侧的“项目导航器”中,单击顶级OLD文件夹名称
      5. 在“身份和类型”下的“工具”窗格中,您将看到“名称”条目,将其从OLD更改为新名称
      6. 就在下面有一个“位置”条目。单击具有OLD名称的文件夹,然后选择新重命名的文件夹
      7. 步骤4 - 重命名构建plist数据**

        1. 点击左侧“项目导航器”中的项目,在主面板中选择“构建设置”
        2. 在本节中搜索“plist”
        3. 在打包时,您会看到Info.plistProduct bundle identifier
        4. 重命名Info.plist
        5. 中的顶部条目
        6. Product Identifier
        7. 执行相同操作

          步骤5 - 重复步骤3进行测试(如果有的话)**

          步骤6 - 如果核心数据的名称与项目名称相匹配(如果有),则重复步骤3 **

          终于,您已完成并可以重建( Command + Shift + K 清理, Command + B 构建)

答案 1 :(得分:163)

添加到@ luke-west的优秀答案:

使用CocoaPods时

在第2步之后:

  1. 退出XCode。
  2. 在主文件夹中,将OLD.xcworkspace重命名为NEW.xcworkspace
  3. 在第4步之后:

    1. 在XCode中:从项目导航器中选择并编辑Podfile。您应该看到带有OLD名称的target子句。将其更改为新。
    2. 退出XCode。
    3. 在项目文件夹中,删除OLD.podspec文件。
    4. rm -rf Pods/
    5. 运行pod install
    6. 打开XCode。
    7. 在项目导航器中单击您的项目名称。
    8. 在主窗格中,切换到Build Phases标签。
    9. Link Binary With Libraries下,查找libPods-OLD.a并删除 它。
    10. 如果你有一个objective-c Bridging标题,请转到Build settings并将标题的位置从OLD / OLD-Bridging-Header.h更改为NEW / NEW-Bridging-Header.h
    11. 清洁并运行。

答案 2 :(得分:37)

XCode 11.0 +。

现在真的很简单。只需转到XCode窗口的Project Navigator左面板。
Enter使其可以重命名,就像更改文件夹名称一样。
enter image description here

只需在此处更改新名称,XCode就会要求您重命名其他内容。

enter image description here

在这里轻按Rename,您就完成了。
如果您对根文件夹名称感到困惑,为什么它没有更改,那么它只是一个文件夹。刚刚用新名称重命名了。
enter image description here

答案 3 :(得分:30)

使用shell命令的更快解决方案(也适用于CocoaPods):

请谨慎cd前往非GIT存储处⚠️

第1步 - 先决条件

  1. 将您的原始项目文件夹复制到临时/NewProjectFolder OUTSIDE您的git存储库。 ⚠️更改为.git可能会损坏您的git索引
  2. 第2步 - 打开终端

    现在我们要将项目从oldName重命名为NewProject

    • 关闭XCode。
    • 转到/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字符串(两者都在   每个文件的名称和内容)。

Xcode Project Renamer

答案 5 :(得分:6)

更改项目名称;

  1. 在项目导航器中选择您的项目。
  2. 2.在“文件”检查器的“标识和类型”部分中,在“名称”字段中输入新名称。

    3.Press Return。

    将显示一个对话框,列出项目中可以重命名的项目。该对话框包括预览更改后项目的显示方式。

    1. 要有选择地重命名项目,请禁用您不想重命名的任何项目的复选框。要仅重命名您的应用,请保留所选的应用并取消选择所有其他项目。

    2. 按“重命名”

答案 6 :(得分:4)

关注@ Luke-West的+ @ Vaiden解决方案时的额外说明:

  • 如果你的方案没有改变(仍然显示我的mac)在停止按钮旁边的左上角:

    1. 点击新建的项目名称(停止按钮旁边)>点击修改计划>构建(左手侧)&g​​t;删除旧目标(将说明它已丢失)并替换为NEWLY命名项目徽标下的新命名项目

另外,我没有必要使用@ Vaiden解决方案的第3步。只需在终端中运行rm -rf Pods/即可删除所有旧的pod文件

我也没有必要在@ Vaiden的解决方案中使用第9步,而是在链接二进制库下删除了名为framework的OLD项目(新命名的框架已经存在)

所以更新的步骤如下:

第1步 - 重命名项目

  1. 在Xcode视图左侧的“项目导航器”中单击要重命名的项目。
  2. 在右侧选择“文件检查器”,项目名称应位于“身份和类型”下,将其更改为新名称。
  3. 点击下拉菜单中的“重命名”
  4. 第2步 - 重命名方案

    1. 在顶部栏(“停止”按钮附近),您的OLD产品有一个方案,点击它,然后转到“管理方案”
    2. 单击方案中的OLD名称,它将变为可编辑状态,更改名称
    3. 退出XCode。
    4. 在主文件夹中,将OLD.xcworkspace重命名为NEW.xcworkspace。
    5. 第3步 - 使用资源重命名文件夹

      1. 退出Xcode
      2. 在正确命名的主文件夹中,有一个新命名的xcodeproj文件,其中包含错误命名的OLD文件夹。将OLD文件夹重命名为新名称
      3. 重新打开项目,您将看到一条警告:“文件夹OLD不存在”,取消警告
      4. 在左侧的“项目导航器”中,单击顶级OLD文件夹名称
      5. 在“身份和类型”下的“工具”窗格中,您将看到“名称”条目,将其从OLD更改为新名称
      6. 就在下面有一个“位置”条目。单击具有OLD名称的文件夹,然后选择新重命名的文件夹
      7. 第4步 - 重命名构建plist数据

        1. 点击左侧“项目导航器”中的项目,在主面板中选择“构建设置”
        2. 在本节中搜索“plist” 在打包时,您将看到Info.plist和Product bundle identifier
        3. 重命名Info.plist中的顶部条目
        4. 对“产品标识符”执行相同操作
        5. 步骤5处理Podfile

          1. 在XCode中:从项目导航器中选择并编辑Podfile。您应该看到带有OLD名称的target子句。将其更改为新。
          2. 退出XCode。
          3. 在终端中,cd进入项目目录,然后:rm -rf Pods/
          4. 运行pod install。
          5. 打开XCode。
          6. 在项目导航器中单击您的项目名称。
          7. 在主窗格中,切换到“构建阶段”选项卡。 在Link Binary With Libraries下,查找OLD框架并将其删除(应该说它已丢失)新命名框架应该已经存在,如果不使用窗口底部的“+”按钮添加它
          8. 如果你有一个objective-c Bridging标题,请转到Build settings并将标题的位置从OLD / OLD-Bridging-Header.h更改为NEW / NEW-Bridging-Header.h
          9. 清洁并运行。
          10. 在成功完成所有步骤后,您应该能够构建没有错误

答案 7 :(得分:2)

除了Luke和Vaiden建议的所有步骤之外,我还必须重命名Storyboard中的所有customModule属性以匹配新名称,并且必须区分大小写。

答案 8 :(得分:1)

添加到Luke West接受的答案中。如果您有任何权利:

  1. 关闭Xcode
  2. 更改权利文件名
  3. 进入Xcode,选择权利文件应突出显示为红色,在“文件”检查器中选择“文件夹”图标,然后选择重命名的文件。
  4. 进入“构建设置”,搜索“权利”并更新该权利的文件夹名称和文件名。
  5. 清洁并重建