iOS开发 将.a库打包为.framework库

个人觉得.framework库用起来更方便,只要拖到工程里就好了。
记录一次把刚刚编译的openssl1.1.1的.a库打包为.framework库的过程。
首先刚刚编译的openssl1.1.1,包含两个文件夹。
第一个是include里面是一堆头文件,如下图:

iOS开发 将.a库打包为.framework库

第二个是lib文件夹里面是四个.a文件,如下图:

iOS开发 将.a库打包为.framework库

第一步在终端输入
mkdir -p openssl.framework/Versions/A/Headers
mkdir -p openssl.framework/Versions/A/Resources
创建framework的Headers和Resources目录。如下图

iOS开发 将.a库打包为.framework库

第二步在终端输入

ln -s A openssl.framework/Versions/Current
ln -s Versions/Current/Headers openssl.framework/Headers
ln -s Versions/Current/Resources openssl.framework/Resources
ln -s Versions/Current/openssl openssl.framework/openssl
使用软链接,构建.framework所需的结构,如下图

iOS开发 将.a库打包为.framework库

第三步,在终端输入

lipo -create \
    lib/openssl-arm64.a \
    lib/openssl-armv7.a \
     lib/openssl-armv7s.a \
      lib/openssl-x86_64.a \
    -o openssl.framework/Versions/A/openssl
生成openssl库文件 如下图:

iOS开发 将.a库打包为.framework库

第四步,在终端输入
cp -r include/* openssl.framework/Versions/A/Headers/
将头文件放入Headers文件夹,如下图:

iOS开发 将.a库打包为.framework库

这样一个iOS可用的1.1.1版的openssl.framework就制作完成了。