架构之始—项目文件和文件夹管理

接手过前任代码的老鸟们都知道,很轻松随意(这里不说快速,毕竟Xcode有这功能)的找到文件或者对应的文件夹,并不容易,问题有以下几点:

1.语言不过关:英语水平不行,汉语词义博大精深;

2.一千个人就有一千个哈姆雷特—类文件和文件夹的命名;

3.一千个人就有一千个哈姆雷特—类文件内部函数和成员变量命名;

4.各种模式乱用,比方单例的泛滥使用,数据保存的不巧当用(东边一个Yes,西边改一个No,没有合理的数据管理等);

5.最重要的是项目类文件的层级关系不明等!

第五个原因乃促使我想分分钟重构项目文件和文件夹管理方面的最有利行动的原因,还有一个原因在于此代码经过了N(话说4)任不同程度水平的人手处理!

于是,在老大的批准与支持下,开始了本篇的文件与文件夹管理之路,感觉算不上架构吧,但也请你不要小瞧哦!

一.快速移动文件夹:

1.点击要移动到的目标文件夹,右键show in Finder 找到本地的位置,在本地创建新的文件夹;

2.之后直接拖拽当前要移动的文件到刚创建的文件夹,同时删除本地移动后变红的文件;

3.当创建的文件夹模块移动完毕之后,先找到如图所示位置:

快速搜索要删除的文件有没有删除干净!

输入刚刚移动过的文件,如果有存在,立刻删除,(一般看一个文件,示例下就行了);

4.拖拽新创建的文件夹到工程中,同样走到上面的地方,逐个输入新创建文件夹中的.m文件,并Add进去

5.cmd +shift+k 清理一下, 之后cmd +b 编译通过OK!

二.快速移动第三方SDK:

1.卸载,删除原有SDK,恢复项目到没有集成对应SDK前的状态;

如下图三个地方逐一查看是否引用原路径问题:

查看引用SDK的路径是否已删除!

删除 library的原路径,删除SDK,全局看是否还有以及SDK对应的文件及文件夹。

2.重新拖入,集成SDK;

注意,一定要先把文件移动到磁盘所在位置,再向工程中拖拽不然文件还是不在你想要的磁盘,引用还是会出错。

3.有时候项目中会含有.a的静态库,第一次可以通过下图所示方式添加:

第一次添加SDK的库

但若是删除SDK后,.a库会立刻消失,符合您的要求,但再次集成会发现无法通过上面add方式去添加,因为就没有.a的文件可展示,如下:

再次添加SDk的库发现找不到对应的库

不过,试试Add Other之后会发现原来它在这里,如下:

另一种方式添加SDK的库

选中要添加的静态库,之后再点下Open ,自己看效果,就不展示了,会发现,静态库竟然添加上去了!

这个是我移动SDK过程中遇到的坑,不过当坑爬过了,就是短暂的嘚瑟,比方像我现在教你爬坑经验;但也可能会有更大的坑在等着我呢?

三.几个注意点汇总

1.多多cmd +shift+K ,甚至重启,甚至删除缓存,如下为缓存的目录:

Xcode编译项目缓存垃圾的目录:

~/Library/Developer/Xcode/DerivedData

2.尽量移动若干,比方某模块,一般最多5个类文件,就执行一下上面的步骤,以防全部移动到合适的位置之后有遗忘文件未添加的地方。

3.最重要的小技巧:

在移动或者删除文件或者第三方SDK之前,做个备份,最简单的,像上面的FrameWork,Header,Library Search Paths(常见的问题就在这里)等不知道应该加路径,加路径到什么位置时合适,

比方我支付__支付宝App支付接入流程中的下面这个编译错误,当年也是神坑也!

支付宝SDK集成的合适路径

那么就把自己删除之后编译失败文件路径与原来编译成功的原项目比对,查出不足点,这也是为何建议您把对应的SDK的文件路径给复制粘贴保存下来,因为手敲免不了会出错!

四.背景成果与经验分享:

1.关于第三方库(特别是拥有各种.a文件,.bundle文件)的位置一定是放在相对比较集中的比方常见的Vendor,Kit等文件夹下集中管理,如果有超过一半以上(含有.a等静态库的)的不在一起,我想,如果您和我一样有强迫症的话,非要让他们放到一起才开心,那么我的建议就是重新写个项目,重新集成对应的第三方库和拖拽文件,因为这样找的话太麻烦了,当然如果哪位大神有自己的快速解决办法,请留言,不胜受恩感激!

2.当我把我的成果架构,即先按模块分,之后再根据情况,业务量少的采取MVC架构子模块,业务量多的采取MVVM架构子模块,去向老大报告这2天的战果的时候!

老大的说法是这样的,必须继续细分,原因如产品经理会把比方目前的五大模块,可能某2个模块在一段时间合并或者再放到另一个模块下面作为其子模块,您有如何做呢?

哦,这个时候,我突然想到当年我为何对一些架构模式。如:组件化架构的理解感觉多此一举,其实站在现在的立场,我知道,组件化架构之路我必须去做!

好了,废话不多说,研究我项目的组件化架构之路喽!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,568评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,612评论 4 59
  • 夜半三更 风骤雨急 人无眠辗转反侧欲语惶不得 生活意不适工作千般忧 哀思不得解欲梦枕席凉 我生虽努力荣途难自致 人...
    董振东阅读 640评论 0 0
  • 问题 1)柯里化,通过柯里化,改造target-action,因为selector只能使用字符串,在编译时无法发现...
    lanjing阅读 3,433评论 3 19