今早出现一个改名的囧事。。。先记录下。。。在此之前感谢整理过这片文章的作者 --- GarveyCalvin ,插眼!以下是正文~~~~

前言:在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)全局搜索之前的项目名字并替换成新项目名字:

注意:这里只是替换一下注释,真正的项目设置需要我们手动操作。

11)全局搜索旧项目名字出来的界面,我们点击进去更改名字:

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

更改完之后,还得再改一些东西。不要问为什么这么麻烦,只因任性。

注意:继续全局搜索替换,直到全局搜索不到旧名字为止!

12)打开项目文件夹,继续更名:

更名后:

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

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

13.1)选中test文件夹:

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

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

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

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

项目结构:

项目真实目录结构:

小结:没有改过项目的朋友,改之前记得先备份好噢。

iOS 项目改名~~~~~的更多相关文章

  1. iOS项目的完整重命名方法图文教程

    原文链接:http://www.cocoachina.com/ios/20150104/10824.html iOS项目的完整重命名方法图文教程 前言:在iOS开发中,有时候想改一下项目的名字,都会遇 ...

  2. 开源 iOS 项目分类索引大全 - 待整理

    开源 iOS 项目分类索引大全 GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Cate ...

  3. ios项目里扒出来的json文件

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...

  4. 现有iOS项目集成React Native过程记录

    在<Mac系统下React Native环境搭建>配置了RN的开发环境,然后,本文记录在现有iOS项目集成React Native的过程,官方推荐使用Cocoapods,项目一开始也是使用 ...

  5. iOS项目的本地化处理(多国语言)

    项目的本地化就是:iOS系统在不同语言环境下自动切换语言,从而实现一个app发布到全世界各个国家的AppStore上. 我们不仅仅需要在iOS项目中做本地化处理,在上架iOS APP的时候,也需要做对 ...

  6. 在Xcode 6 beta里编译Cocos2d-x iOS项目时失败

    转载 在Xcode 6 beta里编译Cocos2d-x iOS项目时可能会失败,提示如下错误: Undefined symbols for architecture i386: "_fwr ...

  7. phonegap创建的ios项目推送消息出现闪退现象

    使用phonegap创建的ios项目,推送消息时,当程序在前台运行或者在后台运行状态下,推送消息过来,可以解析并且跳转: 但是在程序从后台退出的状态下,当消息推送过来的时候,点击通知栏,打开程序,程序 ...

  8. MVVM 模式下iOS项目目录结构详细说明

    ➠更多技术干货请戳:听云博客 我们在做项目的时候,会经常用到各种设计模式,最常见的要数 MVC (模型,视图,控制器)了.但是,今天我们要说的是另一种设计模式——MVVM. 所以 MVVM 到底是什么 ...

  9. WinObjc - 使用iOS项目生成通用Windows应用

    Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天.WinObjc项目就是Build 2015大会上微软宣布的Project IslandWood项目,致力于将iOS应用快速 ...

随机推荐

  1. redis 数据类型

    上一篇文章主要写了redis在linux下的安装,这里讲一下redis基本的数据类型,linux的数据类型比较丰富,主要有五种数据类型 .String 字符串类型 常用命令: 除了get.set.in ...

  2. sublime插件@sublimelinter安装使用

    sublimelinter插件是一款sublime编辑器的代码校验插件,支持多种语言,对于前端来说主要包含css和js校验. 要是用这款插件 1)安装node,然后在全局安装jshint(npm in ...

  3. Spring @RequestParam @RequestBody @PathVariable 等参数绑定注解详解

    背景 昨天一个人瞎倒腾spring boot,然后遇到了一点问题,所以把这个问题总结一下. 主要讲解request 数据到handler method 参数数据的绑定,所用到的注解和什么情形下使用. ...

  4. MySQL数据库设置远程访问权限方法总结

    1,设置访问单个数据库权限 mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2 ...

  5. spring mvc 工作流程

    Spring Web MVC 处理Http请求的大致过程:一旦Http请求到来,DispatcherSevlet将负责将请求分发.DispatcherServlet可以认为是Spring提供的前端控制 ...

  6. Servlet知识

    1.Servlet概述 2.编写Servlet的开发步骤a.建立标准的JavaWeb应用目录FirstAppWEB-INFclasseslibweb.xmlb.编写一个类,实现javax.servle ...

  7. javascript中关于深复制与浅复制的问题

    在javascript中,变量的类型分为基本类型和引用类型. 对于基本类型的变量来说,值的复制以及作为函数参数实参传递的过程都是值的复制传递,换句话说,是会在内存中开辟出一个新空间用于存放新的值的.这 ...

  8. 高尔夫管理系统SSH

    登录-----------http://localhost:8080/GOLF/Denglu 一.Action 1.处理今日消费数据逻辑的 package com.chinasofti.golf.ac ...

  9. 面向对象程序设计 第二次作业<1>

    Github链接:https://github.com/zora02/object-oriented/tree/master/1001.A%2BB%20Format%20(20) 一.解题 题目 解题 ...

  10. iOS 单例模式

    主要用于做应用程序的资源共享控制.用途很多⋯⋯ 实质为,单例是在程序声明周期里 有且仅有 被实例化过一次的类.为确保实例化的唯一,利用类的 类(static)方法来生成和访问对象. 至此,你便可以在程 ...