iOS-SDK 制作Framework静态库

 

前言

       由于工作需要,要做一个SDK提供给第三方开发人员,就是将我们的一个功能模块封装一下,不能直接给对方源码,将源码打包成二进制文件,这也是我们常见的使用第三方工具的打包方式。

       在创建sdk的时候,由于开发的时候经常要调试,不能每次调试就打一包,所以我们要建立在一个工程里,以便于我们开发和调试。

1.创建工程

2.创建Framework

 

1.创建framework工程文件

 

2.修改配置 将Mach-0 type 设置成为静态库文件 Static Library

创建完成后就会出现下图的framework

3.创建完成之后,我们就要建立我们自己的文件。

这里要记住,是在SDK文件夹下建立,找到自己建立的sdk文件夹,然后在里面建立自己的文件。

这里可以看见iOSlibFrame文件夹是我们SDK开发的目录,后面所有的SDK开发都在这里进行。

在开发过程中会有很多的.h文件,有些文件是外部调用着引用的接口文件,有些是SDK内部使用的,不要暴露出去,我们需要提供给开发者使用的头文件我们需要设置一下:

现在TestA就是外部开发者可以访问的头文件。

 

然后command+B编译一下,在主工程中引用TestA,就可以随便去调用TestA中的方法了。

这里说明一下:调用的方式有两种,第一种是直接引用:

#import "TestA.h"

第二种方式是先编译好后将编译后的文件放入主工程中

#import <iOSLibFrame/TestA.h>

两种方式都可以,不过第二种好处是,在写的时候就能知道哪些头文件是不会暴露出去的,心里会有数。

最后当所有的开发完成后,就是打包了,这里打包包括两个包,一个包是真机运行的framework,一个是模拟器运行的framework,看自己情况,如果自己的framework只能真机运行,那就直接用就行,如果两个环境下都运行,则需要将两个环境下的包合并到一起。

我这里是Debug环境,到时候真正发包的时候 大家用release环境就行。

在这两个文件夹下都有一个iOSLibFrame.framework,现在见它们拷贝出来道一个目录下进行合并。

合并的命令:

lipo -create /Users/aaa/Desktop/Code/E-csdn/ios-sdk/SDK/Debug-iphoneos/iOSLibFrame.framework/iOSLibFrame /Users/aaa/Desktop/Code/E-csdn/ios-sdk/SDK/Debug-iphonesimulator/iOSLibFrame.framework/iOSLibFrame -output /Users/aaa/Desktop/Code/E-csdn/ios-sdk/SDK/out/iOSLibFrame

合并成功后会有一个iOSLibFrame 文件 这个就是我们最后的文件。

然后将这个文件拷贝到 Debug-iphoneos/iOSLibFrame.framework 去替换里面的iOSLibFrame。最终iOSLibFrame.framework这个文件就是我们可以提供给开发者的静态库。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值