手把手教你创建WorkSpace方式的iOS多工程联合编译

简言

对于iOS开发者而言,习惯使用一个工程开发,也是每个iOS开发者的常规操作,但是每当我们做完一个项目时,再去开发另一个项目,我们会发现,我们封装的网络框架类,HHKit类等会重新集成到新的项目里,这样会浪费很多开发时间,做了很多无用功。为了避免这种情况发生,大家不妨试试多工程在一个工作空间下(Workspace)开发,这种创建项目方式的优点是即插即用,极大的减少开发时间。

多工程的最终实现截图

由于本项目使用第三方SDK较多,所以使用cocoapods管理,个人建议使用cocoapods。当然多工程编译也可以不使用cocoapods管理,HHKit类包括UIKit类,和自己封装的UI类,HHNetworking类是网络请求类,HHSecurityNetwork类是网络加密请求类。
主工程JTDOASystem与其他三个类库相互独立,但可以调用其他三个类库的所有公开方法
示例截图_1

实现步骤

一、创建.framework的静态库

1.静态库目录结构如下
示例截图_2

创建HHNetworking,HHSecurityNetwork静态库方法同上。
2 .HHKit库里的所有类的头文件要引在HHKit.h里,如图示例截图_3

3.HHKit库里的所有类的.h要放在targets->Build Setting->Headers->Public里,如果不放在这里其他工程引用不到HHKit库里的类及类里面的方法,HHKit库自己用的类可以放在Private里
示例截图_4

二、管理主工程与静态库

1.在主工程JTDOASystem里,同时引入HHNetworking,HHSecurityNetwork,HHKit的.codeproj,最好把这4个.xodeproj工程放在平级,方便查看代码。另外引入文件的快捷键:command+option+A

三、主工程与静态库使用cocoaPods管理

1.首先终端编译PodFile,PodFile编译如下:主工程和所有framework库都用cocoaPods管理
示例截图_5

2 . 使用终端cd 项目路径,然后pod install 或pod update。
3.分别编译framework静态库,选中静态库,点击三角箭头运行一下就可以。
示例截图_6

4.主工程添加静态库,目录targets->Build Phases->Link Binary With Libraries,如图
示例截图_7

5.主工程创建.pch,对静态库cocoaPods引用的第三方库做关联,如图:示例截图_8

6.运行主工程,此时可以运行主工程了,如果一切顺利,就可以运行成功了,主工程可以顺利引用静态库及第三方SDK的类及方法。

四、注意事项

1.如果静态库中有category类,则在使用静态库的项目配置中Other Linker Flags需要添加参数-ObjC或者-all_load(这个-all_load慎用)。示例截图_9

五、总结

此时已大功告成,如果还有什么问题欢迎随时留言!
在集成或编译过程中,肯定会遇到各种各样的问题,欢迎大家一起探讨,共同进步。
我的联系方式QQ:1191092524,最后祝大家代码永无BUG!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lester_ge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值