https://www.cnblogs.com/liangyi-cn/p/8657474.html

前言:

在iOS开发中,有时候想改一下项目的名字,这会遇到很多麻烦。

  • 直接改项目名的话,Xcode不会帮你改所有的名字
  • 项目中的很多文件、文件夹或者是项目设置的项,都是不能随便改的,有时候改着改着,就会编译不了。

所以各位重命名项目时,记得先备份好一份噢。本文我会介绍一种“完美”的修改方法。

注意:重命名项目时,记得先备份好一份
注意:重命名项目时,记得先备份好一份
注意:重命名项目时,记得先备份好一份

重要的事情说三遍

本文会把一个项目名叫 OldDemo123 改成 NewDemo

正文:

修改前的项目结构:

 
修改前的项目结构
1、打开项目,对项目名进行 Rename

1.1、选中项目名并按下回车,进入可编辑状态:

 
选中项目名字,进行编辑

1.2、输入新的项目名字,然后按回车,弹出改名前和改名后的文件对名,这时点击 Rename

 
点击 **Rename**
2、修改文件夹名字和显示包内容

2.1、打开应用所在文件夹,修改文件夹名字

注意:

  • 文件夹NewDemoTestsNewDemoUITests里面也要修改
  • 这里的NewDemoTests,原先为OldDemo123Tests
    我们改名字时需要注意,只需要把旧名字(OldDemo123)替换成新名字(NewDemo)即可,不要把其它字符(Tests)删除!
 
修成后的文件夹名字

2.2、选中 NewDemo.xcodeproj 右键打开 --> 显示包内容 --> 双击打开 project.pbxproj 。

 

显示包内容,双击打开 project.pbxproj

2.3、打开 project.pbxproj 文件之后,用搜索快捷键 command + f 全局搜索旧的项目名 OldDemo123 ,并用新的项目名 NewDemo 进行替换。替换完成后进行保存 command + s,然后关闭。

注意:要把所有的 OldDemo123 更换成 NewDemo

 
 
搜索 OldDemo123 ,并替换成 NewDemo
3、打开 NewDemo.xcodeproj 文件

注意:打开的是 NewDemo.xcodeproj 文件,而不是 NewDemo.xcworkspace文件。

3.1、此时会弹出提示框,点击 OK 就行。

 
弹出提示框
弹出提示框

3.2、显示此时项目结构和修改更新Podfile文件

 
修改好项目结构

如果你的项目里面没有使用CocoaPods的话,项目应该可以运行成功了。

使用CocoaPods的话,项目虽然表面看起来已经修改成功了,但是运行之后发现提示错误:

 
使用CocoaPods的话,会提示的错误

此时打开项目文件夹,找到 Podfile 文件,双击打开,修改 target 后的项目名为最新的项目名 NewDemo

target 'NewDemo' do

pod 'AFNetworking', '~> 3.0'

end

然后在终端,用 cd 到项目目录下,运行 $ pod install,进行更新。

3.3、打开 NewDemo.xcworkspace 文件
此时文件显示错误:因为文件路径的原因

 
错误显示

选中显示红色的 OldDemo123 文件,点击右侧文件夹小图标,更改路径。

 
修改文件路径

路径更改成功之后,项目基本就可以运行成功了。

4、修改 Scheme 名

选中 OldDemo123 --> 下拉中选中 Manage Schemes --> 弹出一个显示框。

 
修改Scheme名
修改Scheme名

选中要修改的 OldDemo123 那一行,并按下回车,进行修改新的名称 NewDemo,然后点击 Close

 
修改新的 Scheme 名
5、项目内全局修改、替换

其实到上面,项目已经基本修改完成了,但是对于一些处女座、强迫症患者来说,还有一些问题,如下:

 
生成类时的顶部介绍

5.1、全局搜索旧的项目名

 
全局搜索

5.2、把 Find 修改为 Replace,输入新的项目名,点击 Replace All 全局替换。

 
全局替换

最后:

到此,项目名已经完全修改完成了,小伙伴们可以尝试修改了。

下面是修改后的项目结构:

 
修改后的项目结构

注意:重命名项目时,记得先备份好一份

转载出处:
作者:0_0
链接:https://www.jianshu.com/p/2887d6fb5769
來源:简书

在iOS项目中,这样才能完美的修改项目名称的更多相关文章

  1. 直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分

    直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分 本文是关于如何将GoogleTest和GoogleMock在没有预先编译安装在机器的情况下,直接在项目中作为项目的 ...

  2. 使用ShareSDK实现第三方授权登录、分享以及获取用户资料效果,项目中包含:源码+效果图+项目结构图

    [Android应用开发详解]第01期:第三方授权认证(一)实现第三方授权登录.分享以及获取用户资料   由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折, ...

  3. 在Swift项目中使用OC,在OC项目中使用Swift

    几天前,我开始新的App的开发了.终于有机会把swift用在实战中了,也学到了之前纯学语法时没有机会获得的知识. 这篇博文中,我就如何使用swift.OC混编做一个介绍. OC中使用Swift 首先, ...

  4. IT项目中使用 json格式数据 保存项目配置信息, 在配置文件再读取json文件的内容进行赋值

    json格式小巧玲珑,适合做配置文件,特别是大型项目中, 可以将配置信息分类保存到不同的json文件中, 然后再在配置文件中读取配置文件的数据进行赋值, 这里以python为例进行说明: 假设在you ...

  5. 怎样在Web项目中的service业务层获取项目根路劲

    这里我们有两个前提 1.没有使用struts2框架.没有使用servlet,无法给service层传递request对象. 2.使用了Spring框架. 那你可能问.会有这样的情况吗?答案是有的,比方 ...

  6. react项目中对dom元素样式修改的另一种方法以及将组件插入到node节点中

    在项目中,以前如果遇到对dom元素的操作都是直接获取dom元素,比如说: 但是如果修改的样式比较多的话,不如直接"切换"dom元素,如下例子: 这样会节省一些性能.因为操作dom的 ...

  7. 在Qt项目中如何添加一个已有的项目作为子项目

    新建一个子目录项目(具体方法参见<类似Visual Studio一样,使用Qt Creator管理多个项目,创建子项目>),然后需要添加的项目移动到该子目录项目目录下,再在其pro文件中添 ...

  8. PHP自练项目中个人中心创建,修改,验证(服务器端和客户端验证)

    当注册成功到登录后进入个人中心,查看和修改自己的资料 第一步:创建个人中心: <?php //定义个常量,用来授权调用includes里面的文件 define('IN_TG',true); // ...

  9. 【IntelliJ IDEA】idea导入项目只显示项目中的文件,不显示项目结构

    导入项目之后,只显示项目文件,不显示项目结构 解决方法 1.点击file->project structure..->Modules 点击右上角+加号 ->import Module ...

随机推荐

  1. opencv:轮廓匹配

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  2. Codeforces Round #598 (Div. 3) F. Equalizing Two Strings

    You are given two strings ss and tt both of length nn and both consisting of lowercase Latin letters ...

  3. Spring bean继承

    Bean 定义继承 bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的定义继承父定义的配置数据.子定义可以根据需要 ...

  4. composer update 或者 composer install提示killed解决办法

    出现此原因大多因为缓存不足造成,在linux环境可增加缓存解决. free -mmkdir -p /var/_swap_cd /var/_swap_#Here, 1M * 2000 ~= 2GB of ...

  5. 推荐算法之---FM算法;

    一,FM算法: 1,逻辑回归上面进行了交叉特征.算法复杂度优化从O(n^3)->O(k*n^2)->O(k*n). 2,本质:每个特征都有一个k维的向量,代表的是每个特征都有k个不可告人的 ...

  6. Bugku-CTF加密篇之奇怪的密码(突然天上一道雷电 gndk€rlqhmtkwwp}z )

    奇怪的密码 突然天上一道雷电 gndk€rlqhmtkwwp}z  

  7. [C++_QT] 同步方式提交GET和POST请求

    #开始 最近在做一个需要用到提交HTTP请求的工具 但是遇到一个问题 如下 在Qt中提交一个get请求之后(或者post) 在收到回复之后会调用之前连接好的槽函数 但是问题就是在主调函数中不知道什么时 ...

  8. Python(四)生成器 和 杨辉三角

    学习链接: http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143177992 ...

  9. 浅析PHP页面局部刷新功能的实现小结(转)

    转载地址 https://www.jb51.net/article/38901.htm 方法其实挺多的.以前比较常用的是iframe这样来做.现在多了个ajax,所以一般情况下都是用的ajax.第一种 ...

  10. 虚拟机中安装centos7后无法上网,使用桥接网络+ssh

    首先是桥接网络解决无法上网的问题: 1保证你Vmware里面的虚拟机是关机状态2右键点击电脑屏幕右下角小电脑图标,选择打开网络与共享中心,然后点击弹出来的窗口左上角的“更改适配器设置”.这里指的是你W ...