美文网首页
iOS SDK开发(framework)如何依赖AFN

iOS SDK开发(framework)如何依赖AFN

作者: 程序猿类码农 | 来源:发表于2021-07-14 12:33 被阅读0次

    最近公司要做一个SDK,由于之前没有做过,只能度娘了,写出一个demo后,然后SDK里面要用到网络请求,用原生的网络请求,自问没有能力封装出一个AFN出来,只能在SDK里面加入AFN,但是出现两个问题:

    1:直接将AFN的源码导入项目中去,在第三方调用的时候,会产生类名重复的冲突,修改类名那是一个大工程啊,并且库升级也是一个问题;

    2:用pod安装AFN,第三方没有用到pod呢?

    都2021年了,还有公司的项目没用到pod,劝你离职吧,后续开发会有很多坑等着你呢.

    闲言少叙.直接上工程

    打开xcode,File→New→Project

    图1

    选择Framework

    图2

    创建完成后是这样的界面

    图3

    在SDK中,vim 一个podfile,添加AFN后,

    图4

    再进行pod install,然后SDK内部,就变成了这样

    图5

    此时,要注意啦,一些不必要的选项要去掉了,因为我们没有用到macOS的开发,所有macOS的选项要去掉,

    图6

    并且支持的系统版本也要进行更改

    图7

    公司要求iOS10.0以后都要支持,大家根据不同的需求,随意选择

    加下来要把framework修改为静态库,Build Setting→搜索Mach→将type改为Static Library

    8

    下面创建一个网络请求类,并在SDKTest.h文件里面引入这个类,

    9

    并且将Request.h添加到Public里面

    10

    基本的准备工作已经完成,现在在Request.h里面写一个类方法,在.m文件里面引用AFN并实现方法,

    11

    这里要注意啦,我们平时引用AFN,基本上都是在.pch文件里面这样引入#import "AFNetworking.h",但是在这里,千万不要这样的引入,因为这样引入,在SDK里面不会报错,三方在引入我们的SDK时,会报错,下面的报错信息(图12),是不是看着都脑袋疼,所以一定要用#import <AFNetworking/AFNetworking.h>引入

    12

    在类方法中写调用AFN的代码

    13

    我们只需要进行真机打包,所以在这样的状态下con + B,Products文件下的framework会由红色变成黑色,这样就做出了一个包含AFN的framework

    14

    新建一个工程,新工程也必须要用pod来进行管理,导入AFN,将我们做好的framework添加到新工程中,并调用写好的类方法

    15

    这样一个含AFN的framework就做好了

    相关文章

      网友评论

          本文标题:iOS SDK开发(framework)如何依赖AFN

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