iOS创建静态库

一、创建.a静态库

  1. 新建一个静态库项目,如下图。


    iOS创建静态库_第1张图片
    新建静态库项目.png
  2. 在静态库中想要公开头文件给其他人使用,可以到项目中Build Phases->Copy Files 中点击 “ + ” 添加需要公开的头文件


    iOS创建静态库_第2张图片
    添加公开的头文件.png
  3. 选择静态库支持的CPU框架


    iOS创建静态库_第3张图片
    选择需要编译的环境.png

编译成功可以用终端命令查看支持的CPU框架

$ lipo -info /Users/rambo/..../liblib.a (.a静态库路径)

iOS创建静态库_第4张图片
命令查看静态库使用环境.png

如图,x86_64 是模拟器环境,arm64 是真机环境

把模拟器环境静态库和真机环境静态库合成一个静态库命令:
$ lipo -create 模拟器环境静态库.a文件路径 真机环境静态库.a文件路径 -output lib.a

再次用命令查看刚刚合并的.a静态库使用的环境就会出现x86_64 arm64说明合并成功

iOS创建静态库_第5张图片
合并静态库.png

二、创建.framework静态库

  1. 创建一个新的framework项目


    iOS创建静态库_第6张图片
    新建framework项目.png
  2. 在项目Build Settings 中修改 Mach-O Type 为 Static Library 静态库(Dynammic Library为动态库)


    iOS创建静态库_第7张图片
    mach-o.png
  3. 同样,要想公开头文件让别人使用,在项目 Build Phases -> Headers 中把需要公开的头文件拖到 Public 中,如下图

iOS创建静态库_第8张图片
公开头文件.png

在dylib.h文件中导入公开的头文件

//
//  dylib.h
//

#import 

//! Project version number for dylib.
FOUNDATION_EXPORT double dylibVersionNumber;

//! Project version string for dylib.
FOUNDATION_EXPORT const unsigned char dylibVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import 

#import "HBView.h"
  1. 按照.a静态库方法选择需要编译所要支持的CPU框架。用终端命令可以查看.framework静态库所支持的CPU框架:
    $ lipo -info /Users/rambo/.../dylib.framework/dylib (.framework路径后面再拼接静态库名称)
  2. 合并两种系统框架的静态库
    $ lipo -create ~/dylib.framework/dylib (模拟器CPU框架.framework文件路径) ~/dylib.framework/dylib (真机CPU框架.framework文件路径) -output dylib.framework

你可能感兴趣的:(iOS创建静态库)