前言:在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开发项目名称修改的更多相关文章

  1. IOS 项目名称修改(XCODE4.6)

    最近为了保存苹果商店已有版本软件,打算重新上传一个程序,与原来的软件仅样式不同.在修改网plist文件中的名称后,archive时报错了,结果发现时工程名称没有修改到.下面就与大家分享下修改已有项目名 ...

  2. iOS开发项目之MVC与MVVM

    MVC MVC,Model-View-Controller,我们从这个古老而经典的设计模式入手.采用 MVC 这个架构的最大的优点在于其概念简单,易于理解,几乎任何一个程序员都会有所了解,几乎每一所计 ...

  3. VS项目名称修改

    阅读数:11141 VS中新建一个项目,如果开发工作都接近尾声,客户来要求更换项目的名称,差不多要变更整个解决方案中项目名称,引用等等,这个工作量还是很大的.上网搜索解决方法,还实验了专门的修改项目名 ...

  4. iOS开发项目实战——Swift实现图片轮播与浏览

    近期開始开发一个新的iOS应用,自己决定使用Swift.进行了几天之后,发现了一个非常严峻的问题.那就是无论是书籍,还是网络资源,关于Swift的实在是太少了,随便一搜全都是OC实现某某某功能.就算是 ...

  5. iOS开发——项目篇—高仿百思不得姐

    01 一.包装为导航控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewControll ...

  6. iOS开发项目之一 [ 项目流程]

    项目流程 *人员配置 *客户端(iOS工程师,Android工程师) *前端 h5 *后台人员(php,java,net) *提供接口(请求地址.请求参数,请求方式,接口文档) *UI UE * 效果 ...

  7. 简单搭建iOS开发项目框架

    今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做哪些东西各位跟着我一步一步来进行. 假 ...

  8. iOS开发项目实战——Swift实现ScrollView滚动栏功能

    手机作为一个小屏设备,须要显示的信息往往无法在一个屏幕上显示,此时就须要使用到滚动栏,当然除了像TableView这样能够自带滚动功能的. 假设一个界面上View较多,那就必须要使用到ScrollVi ...

  9. iOS开发——项目实战总结&经典错误一

    经典错误一 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7, VA 运行报错 出现的原因:armv7s ...

随机推荐

  1. Jave中System.getProperty()获取的值

    java.version Java 执行时环境版本号 java.vendor Java 执行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装 ...

  2. Pro Android学习笔记(十一):了解Intent(中)

    Intent的构成 Intent能够带有action,data(由URI表达),extra data(key/value map,键值对),指定的类名(成为component name).一个inte ...

  3. BZOJ 2594: [Wc2006]水管局长数据加强版( LCT )

    离线然后就是维护加边的动态MST, Link cut tree秒掉..不过我写+调了好久...时间复杂度O(NlogN + MlogM) ------------------------------- ...

  4. BZOJ 1406: [AHOI2007]密码箱( 数论 )

    (x+1)(x-1) mod N = 0, 枚举N的>N^0.5的约数当作x+1或者x-1... ------------------------------------------------ ...

  5. mongodb数据库调试问题:‘db object already connecting, open cannot be called multiple times’

    在微博小系统的调试过程中: (1)登入登出可以正常显示,就是在注册的时候网络连接突然停止,但是用户名和密码已经存入数据库中,报错为:undefined is not a function 错误主要指向 ...

  6. Exception in MessageQueue callback: handleReceiveCallback

    07-20 14:27:11.477: E/InputEventReceiver(7209): Exception dispatching input event. 07-20 14:27:11.47 ...

  7. switch使用方法之一周食谱例

    /* Name:switch使用方法之一周食谱例 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月17日 03:52:53 Description: */ ...

  8. angular的$q服务和promise模式

    此承诺/延迟(promise/deferred)实现的灵感来自于 Kris Kowal's Q CommonJS Promise建议文档 将承诺(promise) 作为和 异步执行操作(action) ...

  9. DatabaseMetaData的用法(转)

    http://blog.csdn.net/sdliubo/article/details/6546889

  10. DINOR闪存知识

    闪速存储器(Flash Memory)是一类非易失性存储器NVM(Non-Volatile Memory)即使在供电电源关闭后仍能保持片内信息:而诸如DRAM.SRAM这类易失性存储器,当供电电源关闭 ...