Pod管理的iOS项目修改工程名
声明:本文大部分内容来自于以下网址,其余的部分是自己尝试的总结和补充。
http://www.jianshu.com/p/5f088acecf64 完整修改iOS工程名1
http://www.cnblogs.com/GarveyCalvin/p/4195745.html 完整修改iOS工程名2
http://blog.csdn.net/freedom2028/article/details/10244819 iOS工程中删除pod
http://blog.csdn.net/xiaonaiping061/article/details/48465159 带有pod的iOS工程修改工程名一. 先来看修改ios工程名:
前言:在iOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦。直接改项目名吧,XCODE又不会帮你改所有的名字。总是有很多文件、文件夹或者是项目设置的项。而且都是不能随便改的,有时候改着改着,编译不了。所以各位重命名项目时,记得先备份好一份噢。
一、先来看修改ios工程名:
本文会把一个项目名叫“test233333333”改成“test”。
1)打开项目:

以上是目前的项目结构。
2)选中项目设置并按下回车,输入新的项目名字:

3)输入完后按回车,弹出改名前和改名后的文件对名,这时点击“Rename”:

4)这时会再弹出一个对话框,直接点击“Enable”:

5)这时你会发现,还有很多的“旧”项目名字的文件/文件夹:

不要紧,继续往下看,一起把这些“旧”名字消灭掉。
6)我们先把这两个文件夹改一下名字:
改前:

改后:

这里的testTests,原先为test233333333Tests,我们改名字时需要注意,只需要把旧名字(test233333333)替换成新名字(test)即可,不要把其它字符(Tests)删除!
7)选中这个类文件,更改类名字时不能直接重命名,需要使用Xcode内置的更改类名功能:

点击@interface后面的类名:

按照下图步骤操作(Edit->Refactor->Rename):

输入新的类名字:

点击Save:

8)我们再次看一下我们的目录结构,已经全部都改过来了,但是现在编译是不会通过的:

9)我们试着Build一下, XCode报了这样一个错误,找不到连接文件:

这是因为还有很多项目的设置项需要改一下名字,目前现在Xcode还是指向了之前的那个项目名字。
10)全局搜索之前的项目名字并替换成新项目名字:

注意:这里只是替换一下注释,真正的项目设置需要我们手动操作。
11)全局搜索旧项目名字出来的界面,我们点击进去更改名字:

点击之后会自动跳转到这个界面,双击值进行更改(下面改名的步骤也一样):

更改完之后,还得再改一些东西。不要问为什么这么麻烦,只因任性。
注意:继续全局搜索替换,直到全局搜索不到旧名字为止!
12)打开项目文件夹,继续更名:

更名后:

回到项目看一下,文件全发“红”了。不要紧,正常的:

13)更改相对应文件夹的资源文件夹路径:
13.1)选中test文件夹:

13.2)点击文件夹小图标,更改路径:

找到刚才改好名字的文件,点击choose。下个文件夹(testTests)步骤重复以上的。

改好之后,再次Build,这时已经通过。

项目完整重命名之后的效果截图:
项目结构:

项目真实目录结构:

小结:没有改过项目的朋友,改之前记得先备份好噢。
不带有pod的工程到此就结束了,但是含有pod的工程还得进行以下操作删掉pod。
二、含有pod的工程
1. 删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹
2. 删除xcworkspace文件
3. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用
4. 在工程设置中的Build Phases下删除Check Pods Manifest.lock及Copy Pods Resources
ps:如果将cocoapods集成到工程中后不小心修改或删除了其相关文件导致无法便以通过例如:不小心把
Pods.xcconfig给删除了然后出现diff: /../Podfile.lock: No such file or directory,用上面的方法删除cocoapods后,
再重新$sudo pod install一下就好了。
如果编译的时候出现权限问题,对工程文件夹$sudo chmod 777 path-to-project-folder/*
$sudo chown 777 path-to-project-folder/*
即可。
注意:
此时可能会出现两个问题:
1、删除pod然后重新install导致旧的配置文件存在工程中,从而pod install失败。
解决方法:把下图中的配置设置成none,如图
2、改名导致的出现老工程的.a文件不能连接到。
解决方法:需要在下图中把对应的.a删掉就ok了。
Pod管理的iOS项目修改工程名的更多相关文章
- ios 全方位修改工程名
本文针对于彻底修改iOS工程名,不需要另外建工程,会整理的跟新工程完全一样 1. 选中旧工程名,改为新的 然后选择rename 2. 依次选择黄色文件夹,修改名字,千万不要在Xcode外修改!!! 修 ...
- 安卓Eclipse如何快速修改工程名及包名
修改工程名/包名,也是我们在开发中经常遇到的问题,比如我们在开发过程中突然觉得项目名不合适,或者根包名不合适想修改一下怎么办? 如上图所示工程,我想改变一下我的项目名,如把zzz改成xxx,把我的根包 ...
- VS中修改工程名的解决方案
VS中修改工程名的解决方案: 一.先修改工程名/解决方案名(在VS中修改即可)举例,原先的工程名为OldProject 想要改成NewProject1.找到工程/解决方案所在的文件夹(已工程名/解 ...
- Xcode里修改工程名、类名、批量修改变量名
转:http://blog.csdn.net/yuedong56/article/details/13767001 一.修改工程名: 1.点击工程,右键,选择如图选项. 2.右侧如图位置,修改工程名. ...
- Xcode 修改工程名以及注意事项
1.先把整个工程文件夹名改为新的工程名. 2.打开工程,单击,输入新的工程名,会出现,点击确定. 3.回到工程界面,在中选择 Manage Schemes,然后再弹出的对话框,把工程名改为新的名字. ...
- eclipse修改工程名
直接修改工程可能会产生一些莫名其妙的问题,需遵循以下三步: 1. 右键工程:Refactor->Rename,或选中工程按F2,修改名称 2. 右键工程:Properties->Web P ...
- Eclipse重命名项目名后如何彻底修改工程名
背景:在Eclipse中当我们修改了一个Web项目名称后,在再次运行该项目,发现使用新的名称无法正常的浏览,而用旧的名称去可以 解决方案: 1:修改该项目目录下:.project文件 <?xml ...
- Xcode9 修改工程名(含cocopods)
由于需要现在要更改包名,但是在网上找了N多资料都比较老,16年的资料却是残缺不全,尤其 ios10 出了 .entitlement 的机制 ,很多琐碎的小细节 很容易忘记.所以我自己总结了一篇, 环 ...
- IAR拷贝工程后,修改工程名的方法
在实际使用过程中,经常基于某个demo进行开发,但是demo的项目名往往不满足新项目的名称,如果重新建立工程,就需要进行一系列的配置,非常麻烦,其实可以直接修改项目名,做法如下; 1. 修改项目目录下 ...
随机推荐
- last 列出登入系统的用户相关信息
Linux last 命令介绍 功能说明:列出目前与过去登入系统的用户相关信息. 语法: last [-adRx][-f <记录文件>][-n <显示列数>][帐号名称. ...
- 服务器环境迁移,Linux centos7 64位 基础环境部署 jdk+tomcat+mysql+nginx
最近阿里云服务器到期,这个周末连夜将服务器迁移到美国去了,为什么迁移到美国去呢?主要是因为阿里云服务器费用高,另外网站的访问量不大,对网速要求也不高,主要是宣传和信息传递的作用,加上本人之前在***上 ...
- WHAT is CPU负载?
WHAT?? 1.CPU负载都有哪些? cpu负载的定义:在一般情况下可以将单核心cpu的负载看成是一条单行的桥,数字1代表cpu刚好能够处理过来,即桥上能够顺利通过所有的车辆,桥外没有等待的车辆,桥 ...
- 6.7 安装ant
准备好安装包: 安装vim: 解压: tar -xzvf apahce-ant-1.10.1-bin.tar.gz 这里,我将apache-ant-1.10.1-bin.tar.gz复制并解压到了/h ...
- 泛型中new()约束的用法
一..NET中支持的类型参数约束有以下几种 where T : struct T必须是一个结构类型where T : class T必须是一个类( ...
- POJ 3690 Constellations (哈希)
题意:给定上一n*m的矩阵,然后的t个p*q的小矩阵,问你匹配不上的有多少个. 析:可以直接用哈希,也可以用AC自动机解决. 代码如下: #pragma comment(linker, "/ ...
- webconfig配置详解--转
花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...
- Fetch超时设置和终止请求
1.基本使用 Fetch 是一个新的端获取资源的接口,用于替换笨重繁琐XMLHttpRequest.它有了Request 和 Response 以及Headers对象的概念,与后端语言请求资源更接近. ...
- Codeforces Round #527 (Div. 3)D2(栈,思维)
#include<bits/stdc++.h>using namespace std;int a[200007];stack<int>s;int main(){ int ...
- java工具类学习整理——集合
好久没有总结一些东西了,同时集合部分的知识点也学习的比较早了,但是从来没有抽时间去研究和学习,今天正好有时间就总结一下map常用的遍历方法: package runningwhile; import ...