iOS修改已有项目的项目名和类名前缀

因为公司需求多样,有时候需要在已有项目上做拓展,核心功能变化不大,会在原有基础上增减部分功能,变换UI。这时候我们需要对项目有个整体改造,项目名,文件名,基础配置,以及部分代码都要配套改动。本文主要针对已有项目,需要修改项目名称和类名前缀。

首先看一下我的项目结构,整体差不多有几百上千个文件,不管有多复杂,都可以修改,我们慢慢来!

项目文件结构.png

一、修改项目名称

1、Xcode打开项目修改项目名称

直接选中项目,点击enter,直接修改项目名称


选中项目名.png

buydodo改成xiedodo,点击enter

rename.png

Rename完了点继续,只有框框内的部分变了

2.退出Xcode关闭项目,修改剩下的项目名称

找到xiedodo.xcodeproj->显示包内容->打开 project.pbxproj 全局查找 buydodo并全部替换为xiedodo 保存后关闭。

1
2
3
4

然后修改对应的文件夹名称为xiedodo

.entitlements文件也需要修改


如果包含Tests和UITests文件的,需要打开项目找到.m文件,文件名修改和文件中代码全局查找替换。

1
2
3.关联cocoapods

删掉 buydodo.xcworkspace 和 Podfile.lock 并修改 Podfile 里制定的路径 修改好后执行 pod install

platform :ios,8.0
target "xiedodo" do

结果如下


到目前修改项目名称已经全部搞定,确定运行没问题 ,very good!!!

二、修改类名前缀

需要写一个python脚本。
最简洁方便的方法直接创建一个.text文本,把下面的代码复制进去,然后把后缀改成.py即可。

#!/usr/bin/env python
import os
for dirpath, _, filenames in os.walk('.'):
    for filename in filenames:
        if filename.startswith('BDD'):
            oldFile = os.path.join(dirpath, filename)
            newFile = os.path.join(dirpath, filename.replace('BDD', 'XDD', 2))
            print newFile
            inFile = open(oldFile)
            outFile = open(newFile, 'w')
            replacements = {'BDD':'XDD'}
            for line in inFile:
                for src, target in replacements.iteritems():
                    line = line.replace(src, target)
                outFile.write(line)
            inFile.close()
            outFile.close()
            os.remove(oldFile)

filename.replace是把BDD替换成XDD
最后把这个 app.py 放到 buydodo.xcodeproj 同级目录下,并执行python app.py

执行结果


可以看到已经把项目里所有含有BDD头的类替换成了XDDxxxx。

到目前为止,我们任务马上就要完成,只需做最后一步小小的操作,打开 xcode 将红色(或灰色)部分文件删除,并将改名后的文件导入工程,Add Files to " "

三、运行xcworkspace文件没问题

运行项目,如果没有问题,万事大吉,直接收工。如果有少许报错,不用怕,根据提示一一改正。

你可能感兴趣的:(iOS修改已有项目的项目名和类名前缀)