神剑若水哥:iOS项目组件化

1.重构项目的原因

1.1公司的项目比较多,之前最多开发的时候有14个,因为公司的之前开发的项目的架构不和要求,因为这些项目大体很相似,开发一个相同的功能,要迁移很多遍,开发量很大。项目,里有不少地方不适合做迁移,为了减少开发量,我个人决定做项目重构,可以提高自己的个人能力,减少工作量

image

1.2采用方式:父工程嵌套子工程的方式。因为项目本身相似度还是比较高,每个需求又存在细微的差别,但是需求不是很独立,功能中图片和风格都依赖App。彼此之间依赖性比较强。个人感觉没有必要使用pod做模块化,使用静态库或者动态库就可以

2.项目改名:我们copy 一份功能最齐全的项目,把改一下名字

首先copy一份功能比较齐全的项目,进行改名:

image

改名字是一件麻烦的事情

比如我们现在想把 zhongxiangbao 改为 FZAllAppsProject

注意:重命名项目时,记得先备份好一份

注意:重命名项目时,记得先备份好一份

注意:重命名项目时,记得先备份好一份

未修改之前的效果

image

2.1、打开项目,对项目名进行 Rename,

操作:点击项目名,直接回车即可

image

输入FZAllAppsProject,然后回车,出现如下图:点击Rename

image

2.2.修改文件夹名字

原来的文件夹,都是zhongxiangbao,如图:

image

把zhongxiangbao 替换成 FZAllAppsProject,修改完成,如图:

image

2.3.修改工程文件

2.3.1 选中 FZAllAppsProject.xcodeproj 右键打开 --> 显示包内容 --> 双击打开 project.pbxproj 。

注意:打开的是 FZAllAppsProject.xcodeproj 文件,而不是 FZAllAppsProject.xcworkspace文件。

image
image

2.3.2 全部替换project.pbxproj 中zhongxiangbao为FZAllAppsProject

==操作步骤==

command +F 查找 zhongxiangbao ,然后点击replace 全部替换成为FZAllAppsProject,最后Command + s 保存一下

++注意一定要保存++
++注意一定要保存++
++注意一定要保存++

截图如下:

image
image

2.4 pod 的修改,打开Podfile 文件把里边的zhongxiangbao 替换为FZAllAppsProject ,

image
image

执行pod install

image

完成以后项目可以跑起来了,但是target 的名字不对

2.5.修改target 的名字,

image
image
image

2.6.全局替换zhongxiangbao为FZAllAppsProject


image

改名完成

3.新建另一个项目的target

3.1.复制一target

image
image

3.2.修改target名称

image
image
image

3.3修改plist文件,改为xiaoer-Enterprise

image

关闭项目,重新打开会发现 如下图;点击choose file

image
image

4.新建子项目工程

4.1.新建子工程文件夹FZAppSubProject

image

4.2.新建子工程(其实是一个.framwork的静态库),如下1,2:

image

选择FrameWork,下一步

image

4.3项目名字,然后下一步

image

4.4选择刚才的FZAppSubProject路径,然后下一步

image

4.5 将静态包的工程,导入FZAllAppsProject 工程中

右击FZAppSubProject,选择add files


image

选择刚刚创建的子工程的工程文件,xiaoer_pack.xcodeprog ,

注意:勾选对应的target

image

创建完成

image

5.子工程资源配置

5.1 处理plist文件

5.1.1建立如下的目录结构

image

5.1.2.迁移plist 文件以后,重新关闭,打开项目,项目提示plist文件丢失:

image

5.1.3重新选择一下plist 文件

image

5.2. 配置工程对应assest 盒子

5.1.新建盒子

image
image
image

5.2.在asset 盒子中添加图片icon和launch image

image
image

配置上自己的图片即可,lunch image不要配置路径,但是icon 需要配置路径

5.3工程配置icon

5.3.1取消小二项目默认的asset

image

5.3.2 配置新的asset 盒子

image

5.4 迁移图片到新项目盒子里

image

image

5.5 跟换证书和bundleId

image
image

6.工程文件的头文件配置

工程文件中很多头文件配置需要共同引用

image

7.项目整理和配置

7.1.配置项目信息

image

info 中信息要copy 过来

image

7.2.主工程找不到子工程头文件的问题

image

7. 3.主工程 找不到.m 文件Undefined symbol: OBJC_CLASS$_FZjingtaiTestView

image

解决办法:

image

7.4.子工程找不到主工程定义的文件

解决办法:

7.4.1.增加pch

image
image

7.4.2.增加子工程的header 搜索路径$(SRCROOT)/login_xiaoer-prefix.pch

image

7.4.3.增加子工程的framework 搜索路径

image

7. 5 主工程增加对子工程的库的依赖

image

7.6 子工程中加入Xib 资源;Xib 资源不能直接放入包中,否者无法访问。要放入bundle 中,然后copy 到主工程。

7.6.1 新建一个mac os 的bundle

image
image

7.6.2 设置bundle 为iOS

image

7.6.3 设置bundle 为bundle

image

7.6.4 设置hidp 为NO,为YES 时,会把图片转换为tiff 格式

image

7.6.5 设置bitCode 为NO

image

7.6.5 设置Build Active Architecture Only 为NO

image

7.6.6 设置子工程对bundle 的依赖,编译子工程的时候,bundle 会自动编译

image

7. 6.7 把xib等资源导入bundle 中

image

7. 6.8 主工程中copy bundle资源

image

7.7 把资源copy 到FrameWork中,把包设置为Embed& sign,不然frameWork 是不能放资源的

image

8. 修改Xib 加载图片路径的问题

详细请见另一篇简书文章
简书链接:https://www.jianshu.com/p/843f92746856

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