美文网首页
网络服务层(socket.io)抽取记录

网络服务层(socket.io)抽取记录

作者: 鲲鹏DP | 来源:发表于2018-04-19 17:26 被阅读38次

前言:

随着公司业务的发展,代码解耦模块化是必然趋势。功能模块抽取封装想必很多人都经历过。今天的主要目的不是谈这些,是想记录下在抽取网路服务层的过程中遇到的一些问题。

目的:

抽出来的代码放到任何一个新工程中都能正常使用。
过程


具体过程

  • 既然不仅自己可以用,还要给别人用。那当然不能给源码,打包成静态库。
  • 依赖三方库:“Socket.IO-Client-Swift” 和“JSONKit”,打包的时候当让不能把这些也打进去。

1. 创建工程,过程可见https://www.jianshu.com/p/beb9b658ce30

2. CocoaPods 集成

7B1F0FD0-8AF0-49FC-BE87-2AC2ABD11042.png
  • 编译一把会会很多错误:


    2B881C44-5AC3-44D8-A36A-42C667D0DFAB.png
  • 直接fix,这是三方的JSONKit 报错,应该是盖库没更新引起的,反正我们做的包运行依赖于JSONKit,但是打包是没有将这些三方的东西打进去的,解决错误是为了顺利通过编译。完了就能编译通过。

  • 添加我们自己需要打包的代码


    93F48982-928E-4C1C-A5FA-089F2573AD6B.png

    编译下回报错,这里主要是因为有的文件是MRC的,设置下就好了。-fno-objc-arc

  • 打包静态库,方法参照https://www.jianshu.com/p/beb9b658ce30 注意配置

  • Build Active Architecture Only = NO

  • 支持的最低版本

  • 设置暴露的头文件
    BuildPhase 点击+ 添加New Header Fhase


    CB537E37-6C73-4804-93DC-9CC3A3D80A30.png

    我这里只要暴露一个包含所有接口的头文件。
    编译结果


    A4DCCC21-7D3B-471D-8026-2427107FCF50.png

3.测试

DF9C2A8F-B7AD-4B02-9BCD-853CDE3C23DC.png
Run 会报错,.JSONKit问题,fix. 完成运行会成功,但是最后会crash 929348EF-CDF1-473A-9C28-E9F8DEDC9F78.png

报错找不到md5Hash方法,这是由于该方法写在一个分类中,如果,第三方库中有 category,需要设置为 -ObjC


77DEB051-EB2A-4661-881A-C3D0D551037E.png

在运行大功告成

18C280E1-51E4-4B0B-A41D-9083D5E6E564.png

注意:在集成JSONKit时候,如果发现#import"JSONKit.h"找不到,即发现import的时候没有提示JSONKit的文件,可以在target-Build Settings下修改“User Header Search Paths”项,新增${SRCROOT}并选择rcursive,

相关文章

  • 网络服务层(socket.io)抽取记录

    前言: 随着公司业务的发展,代码解耦模块化是必然趋势。功能模块抽取封装想必很多人都经历过。今天的主要目的不是谈这些...

  • iOS开发Moya + RxSwift + ObjectMapp

    导入框架 通用请求 并转模型 View ViewModel Controller 登录验证层 网络服务层

  • 自制MVP基类框架依赖库和工具类(自用)

    抽取 除了mvp层的抽取,还有对Activity、Adapter、Fragment的抽取 工具类 验证码工具类:C...

  • HTTP 、 HTTPS协议

    OSI七层协议: (应用相关) 应用层:为用户的应用提供网络服务的(http,HTTPS,ftp...) 表示层:...

  • cocos creator 3.6.0引入socket.io

    1、socket.io[http://socket.io]官网https://socket.io/[https:/...

  • c语言网络编程(笔记)

    # 网络编程```OSI 7层网络层(1) 应用层: 最终用户接触的层次,即网络服务最接近用户的一层。(2) 表示...

  • 网络相关

    网络模型 七层模型:应用层、表示层、会话层、网络层、传输层、数据链路层、物理层 应用层: 网络服务与最终用户的一个...

  • 协议

    OSI七层协议: 应用层:为用户的应用程序提供网络服务的(http,https,ftp....)表示层:负责端到端...

  • 04.字段抽取/拆分&记录抽取

    1.字段抽取 根据已知列的开始与结束位置,抽取出新的列 字段截取函数slice(start, stop) slic...

  • 网络7层模型和TCP、UDP

    (高三层)应用层:为应用进程提供网络服务。表示层:数据格式转换、加密、压缩等。会话层:建立、管理、终止应用进程之间...

网友评论

      本文标题:网络服务层(socket.io)抽取记录

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