美文网首页
iOS修改已有项目的项目名和类名前缀

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

作者: Goose的小黄花 | 来源:发表于2020-09-23 15:32 被阅读0次

    因为公司需求多样,有时候需要在已有项目上做拓展,核心功能变化不大,会在原有基础上增减部分功能,变换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修改已有项目的项目名和类名前缀

          本文链接:https://www.haomeiwen.com/subject/hyiductx.html