美文网首页
Xcode_静态库制作_终极篇

Xcode_静态库制作_终极篇

作者: 茉上心弦 | 来源:发表于2018-08-29 14:01 被阅读12次

这一篇主要是介绍一种特殊情况的打包。有两个功能:功能1功能2,其中 功能2 是在 功能1 的基础上开发,现在我想将 功能2 打包,而不用将 功能1 打到这个静态包中。

想必很多人,都想在 AFN 的基础上做一层封装。那么问题来了,这个网络的二次封装是建立在 AFN 的基础上的,如果想将这个二次封装打包,而又不想将 AFN 的代码打进去,应该如何做呢?


一、创建项目

创建一个名叫 HttpManager 的项目。

二、核心代码

进入 HttpManager.h 文件,代码如下:

#import <Foundation/Foundation.h>

@interface HttpManager : NSObject

/**
 POST 请求

 @param url 链接
 @param params 参数
 @param success 成功回调
 @param failure 失败回调
 */
- (void)POST:(NSString *)url params:(NSDictionary *)params success:(void (^)(NSURLSessionDataTask *task, id responseObject))success failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure;

@end

进入 HttpManager.m 文件,代码如下:

#import "HttpManager.h"
#import "AFNetworking.h"

@implementation HttpManager

/**
 POST 请求

 @param url 链接
 @param params 参数
 @param success 成功回调
 @param failure 失败回调
 */
- (void)POST:(NSString *)url params:(NSDictionary *)params success:(void (^)(NSURLSessionDataTask *task, id responseObject))success failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure {
    // TODO: 1.基本的一些处理

    // TODO: 2.这里用到了 AFN 中的请求方法
}

@end

假装上面就是对 AFN 高大上的二次封装(实际上,可没有这么简单)。仅仅是上面的代码是会出错的。因为用到了 AFN ,但是没有引进 AFN 的代码。

三、引进 AFN 的代码

直接到 这里 将 AFN 的代码下载下来。找到 AFNetworking 目录。


将其拖入到 HttpManager 的项目中。这里有一个很值得注意的地方:


你没有看错,这里是不能选中 Add to target的,因为我们的目的就是不希望将这部分打入包中的(你也可以选中试试看)。这样 HttpManager 项目就不会报错了。

三、打静态包前的配置

1、Build Active Architecture Only 全部设置成NO。
2、设置暴露文件


因为没有多余创建其它的文件,而是直接用HttpManager这个类。所以这里不用做任何的设置。在这里,你应该已经发现,没有与 AFN 相关的文件,这是对的。

四、开始编译

编译方式,与基础篇的相同。

五、找到编译结果

最终结果,如下:


同样,将这个 HttpManager 文件拖入到项目中,就可以使用的。但是有一个前提的条件,这个项目必须要有 AFNetworking ,不管是直接拖入的,还是pod 进入的。

相关文章

  • Xcode_静态库制作_终极篇

    这一篇主要是介绍一种特殊情况的打包。有两个功能:功能1 与 功能2,其中 功能2 是在 功能1 的基础上开发,现在...

  • Xcode_静态库制作_升级篇

    如果没有看过 基础篇,从这里进入 Xcode_静态库制作_基础篇。 一、创建项目创建一个名叫 People 的项目...

  • Xcode_静态库制作_问题篇

    实际开发过程中,我们或许会涉及到各种不同的协作开发形式,或许也有将自己封装的类运用到其它 app 的情况,在这个时...

  • Xcode_静态库制作_基础篇

    选择 Cocoa Touch Static Library 开始创建项目: 项目命名: 代码部分目的是写一个简单的...

  • iOS 静态库制作❣进阶

    如果没有看过 基础篇,从这里进入iOS 静态库制作❣基础篇。如果没有看过 中篇,从这里进入iOS 静态库制作❣中篇...

  • iOS小知识 -- 静态库(一)

    静态库静态库的介绍.a静态库的制作以及测试静态库的架构问题.framework静态库的制作以及测试边开发边制作静态...

  • iOS 静态库制作❣中篇

    如果没有看过 基础篇,从这里进入iOS 静态库制作❣基础篇。提示:开源光荣 与学习静态库的制作没有任何关系。将自优...

  • Xcode_静态库 & 动态库

    什么是 库 ?库就是程序代码的集合, 将 N 个文件组织起来, 是共享程序代码的一种方式。 库的分类?开源库:...

  • iOS动态库、静态库及使用场景、方式

    前面介绍过制作过程,这里不讲如何制作动态库、静态库。 静态库和动态库都是以二进制提供代码复用的代码库。 静态库常见...

  • iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码...

网友评论

      本文标题:Xcode_静态库制作_终极篇

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