iOS开发项目名称修改
前言:在IOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦。直接改项目名吧,XCODE又不会帮你改所有的名字。总是有很多文件、文件夹或者是项目设置的项。而且都是不能随便改的,有时候改着改着,编译不了。所以各位重命名项目时,记得先备份好一份噢。本文我会介绍一种方法,是我自己参考了很多资料得出的总结。
为什么说是完整呢?因为改名之后,你不会再看到任何有关于之前的项目名字。
本文会把一个项目名叫“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)全局搜索之前的项目名字并替换成新项目名字:Find -> Find and replace in workspace...
注意:这里只是替换一下注释,真正的项目设置需要我们手动操作。
11)全局搜索旧项目名字出来的界面,我们点击进去更改名字:
点击之后会自动跳转到这个界面,双击值进行更改(下面改名的步骤也一样):
更改完之后,还得再改一些东西。不要问为什么这么麻烦,只因任性。
注意:继续全局搜索替换,直到全局搜索不到旧名字为止!
12)打开项目文件夹,继续更名:
更名后:
回到项目看一下,文件全发“红”了。不要紧,正常的:
13)更改相对应文件夹的资源文件夹路径:
13.1)选中test文件夹:
13.2)点击文件夹小图标,更改路径:
找到刚才改好名字的文件,点击choose。下个文件夹(testTests)步骤重复以上的。
同理,更改testTests文件夹。改好之后,再次Build,这时已经通过。
项目完整重命名之后的效果截图:
项目结构:
项目真实目录结构:
小结:没有改过项目的朋友,改之前记得先备份好噢。
博文作者:GarveyCalvin
博文出处:http://www.cnblogs.com/GarveyCalvin/
本文版权归作者和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作!
http://www.cnblogs.com/GarveyCalvin/p/4195745.html
补充:
1,修改运行那里的名称,点击项目名称 -> Manage Schemes... -> 点击项目名称修改
2,如果项目里使用了cocoapods,还需要修改xxx.xcworkspace
3,修改项目的根文件夹
4,最后,把模拟器里的项目删掉,clean一下,把缓存DerivedData清下,在运行项目,如果运行成功,则修改完成!
iOS开发项目名称修改的更多相关文章
- IOS 项目名称修改(XCODE4.6)
最近为了保存苹果商店已有版本软件,打算重新上传一个程序,与原来的软件仅样式不同.在修改网plist文件中的名称后,archive时报错了,结果发现时工程名称没有修改到.下面就与大家分享下修改已有项目名 ...
- iOS开发项目之MVC与MVVM
MVC MVC,Model-View-Controller,我们从这个古老而经典的设计模式入手.采用 MVC 这个架构的最大的优点在于其概念简单,易于理解,几乎任何一个程序员都会有所了解,几乎每一所计 ...
- VS项目名称修改
阅读数:11141 VS中新建一个项目,如果开发工作都接近尾声,客户来要求更换项目的名称,差不多要变更整个解决方案中项目名称,引用等等,这个工作量还是很大的.上网搜索解决方法,还实验了专门的修改项目名 ...
- iOS开发项目实战——Swift实现图片轮播与浏览
近期開始开发一个新的iOS应用,自己决定使用Swift.进行了几天之后,发现了一个非常严峻的问题.那就是无论是书籍,还是网络资源,关于Swift的实在是太少了,随便一搜全都是OC实现某某某功能.就算是 ...
- iOS开发——项目篇—高仿百思不得姐
01 一.包装为导航控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewControll ...
- iOS开发项目之一 [ 项目流程]
项目流程 *人员配置 *客户端(iOS工程师,Android工程师) *前端 h5 *后台人员(php,java,net) *提供接口(请求地址.请求参数,请求方式,接口文档) *UI UE * 效果 ...
- 简单搭建iOS开发项目框架
今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做哪些东西各位跟着我一步一步来进行. 假 ...
- iOS开发项目实战——Swift实现ScrollView滚动栏功能
手机作为一个小屏设备,须要显示的信息往往无法在一个屏幕上显示,此时就须要使用到滚动栏,当然除了像TableView这样能够自带滚动功能的. 假设一个界面上View较多,那就必须要使用到ScrollVi ...
- iOS开发——项目实战总结&经典错误一
经典错误一 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7, VA 运行报错 出现的原因:armv7s ...
随机推荐
- (转)Web开发中最致命的小错误
Web开发中最致命的小错误 现在,有越来越多所谓的“教程”来帮助我们提高网站的易用性.本文收集了一些在 Web 开发中容易出错和被忽略的小问题,并且提供了参考的解决方案,以便于帮助 Web 开发者更好 ...
- AlarmManager类的应用
1.AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用 ...
- jvm栈和堆详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间 ...
- Method Swizzle黑魔法,修改 ios 系统类库方法 SEL IMP
Method Swizzle黑魔法,修改 ios 系统类库方法 版权声明:本文为博主原创文章,未经博主允许不得转载. 一般来说,系统提供的方法已经足够开发了,但是有的时候有些需求用普通方法不好做. ...
- 选择器,$("A+B") 和$("A~B") 的理解
在我发表这个理解之前,我有看过博客园 永恒浪子 大神的 JQuery选择器大全(http://www.cnblogs.com/hulang/archive/2011/01/12/1933771.htm ...
- leetcode Contains Duplicate python
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- Django Web开发【6】使用Ajax增强用户体验
Ajax及其优点 Ajax实际上就是指异步Javascript与XML,它包含以下技术: HTML与CSS Javascript XMLHttpRequest XML Ajax技术让客户端与服务器实现 ...
- codeforces 632D. Longest Subsequence 筛法
题目链接 记录小于等于m的数出现的次数, 然后从后往前筛, 具体看代码. #include <iostream> #include <vector> #include < ...
- js传参java接收乱码解决方案
js传参处理 encodeURI(encodeURI(name)); java接收处理 URLDecoder.decode(request.getParameter("name") ...
- Android开发中如何解决加载大图片时内存溢出的问题
Android开发中如何解决加载大图片时内存溢出的问题 在Android开发过程中,我们经常会遇到加载的图片过大导致内存溢出的问题,其实类似这样的问题已经屡见不鲜了,下面将一些好的解决方案分享给 ...