美文网首页
制作.a静态库

制作.a静态库

作者: 清宵寒夜 | 来源:发表于2021-09-07 15:58 被阅读0次

1、新增项目,选择StaticLibrary


image.png

2、修改SDK适配的平台和最低支持的版本
target -> Build Setting -> Deployment,按照自己需要选择版本和平台即可


image.png
3、编写SDK代码
这里照Application工程来新建.h和.m文件等来实现自己想要的功能。

4、设置SDK需要保留给外部的头文件
先在target -> Build Phases添加Headers


image.png
有2种方式
a、选中.h文件,在右侧的Target Membership选择pulic则为暴露的头文件
image.png
b、target -> Build Phases->Headers把需要暴露的头文件从project长按拖动到Public下面即可
image.png
5、导出.a文件

a、导出真机架构的.a文件

编译设备选择真机/或者无设备,xcode左上角菜单栏Product->build for 导出对应模式下的.a文件。
也可以选择快捷键。

image

b、导出模拟器架构的.a文件

编译器选择任一模拟器然后重复上面build for步骤即可

6、合并成一个真机和模拟器都可以用的.a文件

如果不需要支持真机可以跳过合并直接提供真机架构的framework文件给外部使用即可。
工程左边文件目录选择Products文件夹下framework文件,右键选择show in floder找到iPhoneos文件夹下的真机架构文件和iphonesimulator文件夹下的模拟器架构文件

6.1、打开终端执行

lipo -create -output outputpath/name.a xxxx/Debug-iphoneos/xx.a xxxx/Debug-iphonesimulator/xx.a

outputpath --最终.a文件存放的路径
xxxx/Debug-iphoneos/xx.a:debug模式下生成的真机架构.a文件路径
xxxx/Debug-iphonesimulator/xx.a:debug模式下生成模拟器架构.a文件路径
也可以lipo -create xxxx/Debug-iphoneos/xx.a xxxx/Debug-iphonesimulator/xx.a -output outputpath/xx.a

此处合成的.a文件为debug模式下的文件,一般提供到外部使用都是release模式下的文件,把需要合并的2个文件路径换成release模式下生成的.a文件即可。
lipo -create xxxx/Release-iphoneos/xx.a xxxx/Release-iphonesimulator/xx.a -output outputpath/name.a

6.2、将合并后的或者release模式下的.a文件提供给外部工程使用即可。

至此大功告成。

相关文章

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

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

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

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

  • 制作静态库

    制作静态库创建静态库 frameWork 默认是动态库BuildSetting —> 搜索 “Mach” 更改...

  • iOS 制作静态库

    制作静态库 动态库:.dylib .framework 静态库:.a .framework 两者区别*:动态库时在...

  • ios中静态库.a的制作

    在ios中制作静态库之前,先来了解关于静态库的一些概念。 八、静态库和动态库在使用上的区别。静态库:链接时,静态库...

  • ios中静态库.a的制作和使用

    在ios中制作静态库之前,先来了解关于静态库的一些概念。 八、静态库和动态库在使用上的区别。静态库:链接时,静态库...

  • iOS 开发库的制作

    注:本文只是简单的介绍一家静态库(framework)的制作。 静态库制作(创建framework)创建frame...

  • iOS framework制作及使用(包含xib和图片)

    制作framework目的:保密项目代码.制作SDK时常用静态库与动态库简介:静态库:链接使用时完整地拷贝至可执行...

  • swift ios 静态库的实现

    1.swift不支持.a的静态库,因此只能制作.framework的静态库 2.静态库的使用 3.纯swift静态...

  • 静态库学习(三)

    一、framework的制作.framework的静态库制作和.a静态库的制作有三个不同的地方,其他基本一致。 1...

网友评论

      本文标题:制作.a静态库

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