iOS 在 Xcode 中重命名项目名称
本教程使用的 Xcode 版本是Xcode 6.3.1,网上有好多的教程,都是在 Xcode 4 上做的讲解,现以本文章讲解一下如何在 Xcode 6.3.1 中重命名你的项目名称,包括你的应用名称。
0、写在前
Xcode,作为开发 iOS App 的 IDE,对于大多数开发人员而言非常熟悉。但是,如何给一个已有的项目重命名呢?相信并不是所有的开发人员都会知晓,这些有时也是合理的需求,看到一个不错的开源项目,如何更改项目名称呢?还有,如果项目在版本迭代过程中需要更改整个工程的名称,又怎么办呢?重命名!
下面就跟着我,一起为一个已有的项目重命名吧!
1、准备
PS:不要在你现在的工程中,做下面的操作。所以我们需要准备一个新的工程取名为 RenameDemo,一会儿,我们会将其改为 NewNameDemo,好了,话不多说,开始我们的教程,创建一个工程取名 RenameDemo。
取什么名无所谓,随你个人的喜好,接下来,我们重命名它吧!
2、让 Xcode 为我们做点什么
Xcode 其实可以为我们做很多的东西,给我们的Project、target更改名称这个是它做的最主要的功能。
打开 Xcode 的 File Inspector,也就是 Xcode 中最右侧的一栏。
图中标红的地方,就是们需要更改的地方
现在我们将其改为我们之前说好的新的工程的名称NewNameDemo。在 Identity and Type 中的 Name 中,我们输入NewNameDemo ,然后敲回车,你就会看到如下的界面。
这里,Xcode 列举出了可以为我们做的更改两个 target 的名称,这个更改,其实也是为我们的 App 变名称了,如果你没有自己设定 App 的名称的话,咱们之前的 App 应该是 RenameDemo ,现在如果,重命名成功的话,就会变成 NewNameDemo 。
点击 Rename,让 Xcode 为我们重命名一部分。此时,会提示你需不需要 Xcode 为你做 snapshot,我们这里选择 Enable ,这个是一个 Xcode 功能,我们也可以在 File > Project Settings 中关掉它。
点击 Enable 之后,Xcode 6.3.1跟低版本 Xcode 不同的是项目,这个项目不能再继续运行调试了。最顶部会变成下面的样子。
处理这个问题很简单,关闭工程,让后重新打开!在重新打开之前,为了重命名的完整性,我决定在 Finder 中把相关的文件夹也重命名。
Xcode为我们做的其实就是把它自己的工程文件重命名了,并且修改了里面的配置信息。我们需要做的是更改剩余的工程信息,在这里,只需要更改文件夹就好了,不用更改其他,因为其他的我们可以在打开 Xcode 之后再改。
修改工程目录为NewNameDemo
修改源文件目录NewNameDemo
修改测试文件目录NewNameDemoTests
修改之后是这个样子
3、重新打开该工程
会有如下的提示
有几处变化使我们所能看到的
a)工程又可以运行了,变为了我们所熟悉的工程。
b)有很多标红的文件
c)提示我们找不到 Image.xcassets 文件
对于c),简单的 OK 就可以了。
如果你观察细致的话,还有一个地方就是,项目的 info.plist 文件找不到了。
4、给 group 找真正的实体文件夹
选中 RenameDemo 这个 group ,再查看右侧的 Inspector ,发下这个 group 是一个相对的位置,我们只有修改它的关联就好了。
看右侧标红的地方,点击一下,就会让你去选择这个文件的真实位置。
我们找到真实的位置如下:
选择标红的文件夹,点击 Choose ,你会发现,之前变红的文件,都变成了实体文件
同理的,我们为 test 源文件目录也添加上。
添加好之后,你就会看到如下的界面
5、为我们的工程找到 info.plist 文件
点击 Choose info.plist File
点击 Choose 就成功添加了,需要有一个地方需要改变的就是在 App Icons and Launch Images 中的 Launch Images Source 选择 Use Asset Catalog
点击 Migrate 合并 App 需要的 Icons。
6、为你的 Test Target 选择 info.plist
选择 NewNameDemoTests target,并选择 Build Settings 标签,搜索一下plist,你就会看到如下的界面
修改2位置的内容为 NewNameDemoTests/Info.plist
7、为你的Test Target 选择 Host Application
更改了 plist 文件,还需要设置一下 test 的 Host Application。
在NewNameDemoTests 的General 标签选择 Host Application
8、编译
现在,你可以编译你的工程了,如果按照步骤来的话,应该是可以编译成功的。
9、如果,你有小小的代码洁癖那就更改一下 group 名称吧
把源文件分组名称和 test 源文件分组名称改成NewNameDemo和NewNameDemoTests
还有,你还可改一下系统默认给你创建的一个 test 文件。
10、再次编译一下,你成功了吗?!
总结:
这个只是原始工程的重命名,如果你是一个复杂项目的重命名,请一定做好备份。遇到问题,查看是哪部分有问题,改一下,就可以了。
原文链接:http://www.jianshu.com/p/5f088acecf64
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
iOS 在 Xcode 中重命名项目名称的更多相关文章
- Sitecore CMS中如何命名项目名称
如何在Sitecore CMS中命名项目,以及配置命名限制,“显示名称”是什么以及如何使用它. 任何其他名称的项目 当创建Sitecore的项目,内容编辑器要求制作者为新建项目提供名称.输入的名称将其 ...
- [转]C#在创建完项目后如何重命名项目名称。
今天写了个C#的小测试程序,一开始使用的默认命名WindowsFormsApplication2,写完后觉得名字不好看,于是想改个名字,但是试了一下,想完整的改名还挺复杂,不但要改解决方案名,项目名, ...
- VS2010中重命名项目
通常,在项目开发初始,一般都是先做一个Demo,以方便进行修改设计.演示等,这可能导致项目命名并不符合最后的规范,则需要修改项目名称.VS没有推出这方面针对性的功能,网友们也纷纷自己写了软件. 方案一 ...
- mvc5中重命名项目的名称后,出现"找到多个与名为“Home”的控制器匹配的类型"
1.已把项目中所有的Webapplication1改为了MvcMovie,但是运行后,还是报错: 找到多个与名为“Home”的控制器匹配的类型 2.已重新生成解决方安,还是不行. 解决方法:把bin文 ...
- VS2010中手动重命名项目
在visual studio 中重命名项目名称的方法: 1. 重命名项目名称 2. 修改Assembly name 3. 修改Default namespace 4. 在Assembly Inform ...
- 在Azure DevOps Server (TFS) 中修改团队项目名称
概述 [团队项目]: 在Azure DevOps Server (原名TFS)中,团队项目(Team Project)是一个最基本的数据组织容器,包含了一个团队或者信息系统中的所有信息,包括源代码.文 ...
- sqlServer 2008修改字段类型和重命名字段名称的sql语句
sqlServer 2008修改字段类型和重命名字段名称的sql语句 //修改字段的类型 alter table fdi_news alter column c_author nvarchar(50) ...
- kvm中重命名虚拟机
kvm中重命名虚拟机 1.查看虚拟机 [root@linux ~]# virsh list --all Id Name State ---------------------------------- ...
- 在MyEclipse中改了项目名称,到tomcat的webroot下发现,部署的名称还是原来的。
在MyEclipse中改了项目名称,到tomcat的webroot下发现,部署的名称还是原来的. 解决方法:选中项目名称右键properties,展开Myeclipse,选择web,web Conte ...
随机推荐
- 利用Range改变光标位置
先上代码,代码取自网上某插件中 function caret(begin, end) { if (this.length == 0) return; if (typeof begin == 'numb ...
- linux进程创建
1. 进程是程序的执行,会被加载到内存中,每个进程包括程序的代码和数据,其中数据包括程序的变量的数据,外部数据,程序堆栈. 2. Linux中,输入命令,如vi main.c 通过shell来执行, ...
- SxsTrace工具使用方法(转)
http://blog.sina.com.cn/s/blog_494e45fe0102dtt3.html Windows7平台上有一个强大的SxsTrace工具,可以跟踪调试应用程序运行时需要的动态库 ...
- jqgrid设置单元格数据
$("#gridid").jqGrid('setCell',rowid,icol,data); rowid为行ID,jqgrid内置的那个,从1开始 icol为列索引,从0开始, ...
- Python自动化运维之17、Python操作 Memcache、Redis、RabbitMQ
一.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的 ...
- 成都Python工程师招聘
最近公司开放python岗位,机会非常不错. 数据相关的岗位,可以接触很多好玩技术.成都是新建研发中心,整体技术气氛很不错. 坐标:成都 行业/部门:金融,数据部门 基本要求: python精通,学习 ...
- Github 上利用github pages 部署站点
一:起始 准备项目,如果你在github上已有项目,则无需新建,如果你要新起一个项目,则需先在github上创建一个项目 本文以已创建好的 github/TestGitPage 为例. 二:设置gi ...
- 粗看C#委托
C#的好多定义跟C艹不太相同,先来分析一下“委托”. 1. 委托的定义: 委托,可以认为是类型安全的函数指针,类型安全就是指明确定义了返回类型与参数类型,在C#代码编译时就能够确保指针传参时的安全性. ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
- 不同浏览器使用Content-disposition时filename带空格的处理方式不同
最近在做项目中遇到一个问题,纠结了好久才找到原因.起因:通过MIME的扩展Content-disposition来实现在客户端保存附加文件(快捷方式).问题:在chrome和IE8+下一切都很和谐,浏 ...