我们在iOS开发中,难免会遇到项目做到一半要改名字的情况。如果项目名差的太大,工程名看起来总是不舒服的,就会想着为工程改个贴切的名字,那么你就为用到本文记录的内容。

如何修改工程名呢?

下面我就拿一个中等大小的项目来实际操作一下,并记录整个要修改的地方。
该项目的结构如下:

项目结构

项目中还用到了几个第三方框架:

第三方框架

接下来,就要开始修改项目名称了。假设我要把doutu改为shopping

提醒:

  • 在改工程名之前,要注意三件事:一定要备份,一定要备份,一定要备份。

1.修改大文件夹的名称

直接修改的。

修改大文件夹的名称

2.修改project名称

选中project 单击project名字 或者 选中project+回车。

 

修改project的名称之后,回车会有提示:

 

这里点击Rename,将project中部分doutu改为shopping
修改之后,哪些地方有明显变化呢?

Rename后

3.修改文件夹名称

选中文件夹 单击文件夹名字 或者 选中文件夹 回车

修改文件夹

修改之后,回车是这样的:

修改文件夹名字后

虽然在Xcode 里文件夹的名字修改了,但是实际上文件夹里的名字还是没有修改,我们需要去真实文件夹里再修改一次。

修改真实目录名称

4.修改工程中文件夹的路径

在上一步修改玩真实文件夹的名字后,工程中所有的类都变成了红色(文件找不到)。如下图所示:

 

主要是因为工程中的文件夹指引的路径不对。

 

按照如上步骤所示,找到我们刚才修改的真实shopping文件夹,点击Chose 即可。
这时候,因为文件夹关联的真实文件夹路径正确了,所有红色的文件都正常了。
这是修改后的样子:

修改后

5.全局搜索

全局搜索doutu,搜索结果如下:

7266902F-751B-42BE-BF13-FF84EB5E96BB.png

接下来是将doutu替换为shopping

DB9337FB-35A2-4509-84EB-BDF17C9BEA8C.png

点击Replace All之后,大部分doutu都会被替换为shopping,但是还是有一些顽固的残留。

替换后

可以看出,这个是project 文件中,我的第三方框架的framework Search Paths 和Library Search Paths 的路径错误。即:

 

这里只需要将doutu 修改为 shopping即可。
怎么修改呢?
有两种方式,第一种双击framework Search Paths 和Library Search Paths 后面的值,然后单独修改每个值。

双击修改

第二种方案,先将framework Search Paths 和Library Search Paths中的值都删掉,然后把第三方删除,再重新添加。

Paste_Image.png

这里点击Remove References删除,然后再把Vendor文件夹添加进工程即可。

6.修改pch文件路径

如果你的工程里添加了pch文件,因为修改了文件夹,project名字,所以pch文件夹路径也要修改。修改前编译运行,会报如下错误:

pch文件找不到

在Build Settings 中搜索Prefix,修改Prefix Header 的值。

 

上面把doutu/shopping-Prefix.pch修改为shopping/shopping-Prefix.pch即可。

7.修改info.plist文件路径

此时再次编译运行,依然会有一个错误,错误如下:

 

然后依然去 Build Setting 中搜索info.plist。

 

上面将doutu/Info.plist修改为shopping/Info.plist即可。

到这里,工程应该已经可以正常运行了。

Buid Succeeded

但是,如果你想追求完美,依然还有两个地方需要修改。

8.修改scheme 值

要修改的其实是这个地方的显示名称:

 

怎么修改呢?
点击scheme值,然后选择 Manage Schemes...

 

接下来会进入到一个弹出窗口,选中一行,点击scheme值或者 回车

 

这里把doutu 修改为 shopping就会看到 scheme 变成了shopping,如下图所示:

Paste_Image.png
 
到这里,就真的大功告成啦。Have Fun!
 
另:
   若项目中使用CocoaPods, 先到根目录删除与pod相关的文件 **.xcworkspace, 在重新pod install
 

iOS 修改APP工程名字的更多相关文章

  1. 关于PowerBuilder 9.0中如何修改项目工程名字

    关于PowerBuilder 9.0中如何修改项目工程名字,首先要找到三个文件,xxx.pbl.xxx.pbt.xxx.pbw这三个文件,为何要找这个三号个文件呢? 因为在使用PowerBuilder ...

  2. phonegap工程中修改app的名字

    针对phonegap比较高的版本,我的是6.4.0. 在phonegap工程中,当添加了iOS和android平台或多个平台后,工程进行了开发,然后觉得app的名字想修改一下(比如在手机上显示的app ...

  3. 修改kile工程名字(转)

    假设原来的工程文件名是first,要改成second1.在工程文件目录中,将first.uvopt和first.uvproj名字改成second.uvopt和second.uvproj.2.其他fir ...

  4. IOS - 修改APP桌面名称为中文名称!

    1,修改“Display Name”为想要的中文. 2,修改“bundle display name”为想要的中文.

  5. 修改app工程名 Android Studio

    1.关掉AndroidStudio,在原项目最外层文件夹和内部xxx.iml上直接重新命名, 2.然后重新打开AndroidStudio,加载项目, 3.最后

  6. iOS: 设置App的国际化和本地化

    原文链接:http://www.cocoachina.com/appstore/20160310/15632.html 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的 ...

  7. 【转】iOS 设置APP的名称(浅述APP版本国际化与本地化)

    原文网址:http://www.jianshu.com/p/a3a70f0398c4 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的名字就是Xcode在建立工程时的名 ...

  8. iOS 修改打包后的.ipa应用名字

    一.修改应用的名字 二.重新签名 下面详细介绍介绍两个步骤: 1.修改应用的名字: 1).解压.ipa文件,在Payload文件夹下有一个.app文件(如下图:)选中.app文件,右键点击“显示包内容 ...

  9. iOS获取app图标和启动图片名字(AppIcon and LaunchImage's name)

    在某种场景下,可能我们需要获取app的图标名称和启动图片的名称.比如说app在前台时,收到了远程通知但是通知栏是不会有通知提醒的,这时我想做个模拟通知提示,需要用到icon名称:再比如在加载某个控制器 ...

随机推荐

  1. C# new override

    A -> virtual Fun B : A -> override Fun C : B -> override Fun D : C -> new virtual Fun E ...

  2. linux基础(2)

    Linux基础题 作业一:1) 新建用户natasha,uid为1000,gid为555,备注信息为“master”useradd natashagroupmod -g 555 natashauser ...

  3. 【LA3487】最小割-经典模型 两种方法

    题目链接 题意:A.B两个公司要买一些资源(他们自己买的资源不会重复),一个资源只能卖给一个公司.问最大收益. simple input 部分: 54 1 //买到1就给54元 15 2 33 3 2 ...

  4. Codeforces 542C - 漫长艰辛的解题历程

    尽管在下面的一部分解题的方法都有问题... 但是每一次重新提交都是打了一个有意义的补丁的呢 可见在我做题的过程中有多少问题存在... 现在想想,类似于是变量没有开int64,过程函数忘开int64.. ...

  5. 【HDU】6146 Pokémon GO

    [题意]一个2*n的网格,再保证步数最少的情况下,求从任意格出发遍历完所有格的方案数,格子八连通.n<=10000,T<=100. [算法]递推,DP [题解]原题链接:蓝桥杯 格子刷油漆 ...

  6. [bzoj1770][Usaco2009 Nov]lights 燈——Gauss消元法

    题意 给定一个无向图,初始状态所有点均为黑,如果更改一个点,那么它和与它相邻的点全部会被更改.一个点被更改当它的颜色与之前相反. 题解 第一道Gauss消元题.所谓gauss消元,就是使用初等行列式变 ...

  7. ssh保持连接

    转载自: http://www.neatstudio.com/show-625-1.shtml http://www.linuxidc.com/Linux/2010-05/26031.htm (这一篇 ...

  8. certbot 免费httos证书申请

    https://keelii.com/2016/06/12/free-https-cert-lets-encrypt-apply-install/

  9. python基础===文件对象的访问模式,以及计数循环的使用方法

    案例一: 一个几M的文本文件,需要每隔100行写到新的文件中. 代码实现如下: with open(r'f:\book.txt','rb') as f1: with open(r'f:\book2.t ...

  10. input button 不能在后台用Enabled

    <input type="button" value="上传" class="uploadButton"  runat="s ...