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. django项目日志

    接口中,写一条日志: 日志工具文件如下:

  2. Httpclient 工具类(get,put)

    package com.googosoft.until; import java.io.IOException; import org.apache.http.HttpEntity; import o ...

  3. 外键约束:foreign key

    *外键 foreign key* 1.概念:如果一个实体的(student)的某个字段,指向(引用)另个实体(class)的主键 (class:class_id),就称为student实体的class ...

  4. 【Python】爬虫原理

    前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...

  5. etc/hosts文件详解

    Linux 修改 etc/hosts文件 hosts文件 hosts —— the static table lookup for host name(主机名查询静态表). hosts文件是Linux ...

  6. 「JSOI2016」灯塔

    「JSOI2016」灯塔 传送门 我们先只计算照亮左边的灯塔的最低高度,计算右边的类同,然后只要取 \(\max\) 就好了. 那么稍微整理一下式子:\(p_i \ge h_j - h_i + \sq ...

  7. PAT 1015 Reversible Primes (判断素数)

    A reversible prime in any number system is a prime whose "reverse" in that number system i ...

  8. anacondaPython3.7退回到Python3.6

    https://blog.csdn.net/Fhujinwu/article/details/85851587

  9. Dirjkstra

    Description 给定n个点,m条有向边 求每个点到1号点的最短距离 Input 第一行两个数为n,m,n表示顶点个数,m表示边的条数. (1 ≤ n, m ≤ 100 ) 接下来m行,每一行有 ...

  10. mysql-8.0.18-winx64 环境变量的配置

    1. 鼠标右击   此电脑    -->属性 如图:进行步骤 1->2->3 接下来就可以使用命令mysql  -u  root  -p登录mysql了 启动mysql的命令为net ...