我们在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. js 禁止鼠标和键盘行为

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 创建 React 项目

    依次输入命令: npm install -g create-react-app create-react-app react16 cd my-app npm start 在浏览器中输入 local:3 ...

  3. POJ 3070 + 51Nod 1242 大斐波那契数取余

    POJ 3070 #include "iostream" #include "cstdio" using namespace std; class matrix ...

  4. React第三次入门

    传统HTML开发在处理越来越多的服务器数据和用户交互数据反应到复杂界面的时候,代码量越来越大,难以维护. Angular是基于MVVM的开发框架,重量级..不适用于移动端的web栈, 其UI组件的封装 ...

  5. ie6浏览器兼容性

    1.ie6双倍边距bug 块状元素设置float(左浮动或有浮动),并且设置margin值之后,第一个浮动的元素其左侧margin值为正常的2倍,如图,可以看到第一个元素的左侧边距于其他元素两两之间的 ...

  6. HoneyPy 模拟Nginx服务器脚本

    HoneyPy是一个Python写的低交互式蜜罐,可以通过自定义Plugins的方式来配置不同的场景.这里是一个模拟Nginx空白页面的代码: # Auth xiaoxiaoleo # http:// ...

  7. algorithm ch6 priority queque

    堆数据结构的一个重要用处就是:最为高效的优先级队列.优先级队列分为最大优先级队列和最小优先级队列,其中最大优先级队列的一个应用实在一台分时计算机上进行作业的调度.当用堆来实现优先级队列时,需要在队中的 ...

  8. ggplot2绘制多图

    参考链接:http://www.cnblogs.com/nxld/p/6065237.html ggplot2.multiplot是一个易于使用的功能,将多个图形在同一页面上使用R统计软件和GGPLO ...

  9. 新手学习selenium路线图(老司机亲手绘制)-学前篇【转载】

    前言: 本来这篇是只在微信公众号(yoyoketang)上发布的,最近一搜,发现本很多人copy(copy公众号的,图片是加载不出来的)了,还没注明出处,不想多说什么,博客上也同步更新这篇吧! 最近群 ...

  10. python的内存管理机制(zz)

    本文转载自:http://www.cnblogs.com/CBDoctor/p/3781078.html 先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计 ...