美文网首页
打包静态库

打包静态库

作者: Y_Swordsman | 来源:发表于2019-05-07 08:16 被阅读0次

如果只是简单的静态库打包,我也不多说什么,现在网上大把。作为程序员我们先说说需求。封装一个第三方framework。不在外部暴露关于该framework的任何消息。

配置

xcode 10.1

第一步 创建静态库工程

创建静态库

按照正常导入封装代吗就可以了,当然不是啦,
接下来就是重点了,恶心了很久的东西。
导入我们需要第三方framework。你以为按照网上说的直接导进去,只要不点击add to targets ,只导入到项目中去就可以了。我不清楚是从Xcode几开始这种方法不可以了啊。反正我的Xcode10不可以。然后就查阅前篇文章,尝试了各种奇门异法,终于让我找到一篇文章,如何将framework变成.a文件。那么就可以打包进我们的SDK里面去了。
引用这篇文章的话:
通过framework的介绍:Framework的英文释意是框架,主要由Headers、binary文件、.bundle这三部分构成,其实framework就是在.a静态库基础上的更上一层封装,包含了资源,二进制文件,和头文件并生成统一格式方便用户调用有点类似<.dylib和.tbd>,并不是重新生成的另外一种形式,只是对老的格式进行了一层更规范的封装,统一管理资源文件 头文件和库的二进制文件。所以如果你需要的.a文件其实就在.framework文件中。
在你的framework的文件中找到跟framework库同名的无后缀文件。将这个文件加上.a后缀即可。如图


拿UM做列子

这样我们就重新获取到一个我们需要的.a库了。
还有个小问题,如果个别第三方里面还有携带其他信息文件,也要一并放入到我们创建的文件夹里。

第二部配置

我们导入的第三方一般都是需要引入各种系统库,和tbd文件的。这个我们一定要做的,不然编译会出错。
然后我们的配置项目。
1· 调整最低支持iOS系统
2· 将Build Active Architecture Only 设置为NO
3 ·如果 SDK 有用到 Category,注意项目设置 Other Linker Flags 添加 -ObjC
4· RGETS (yooweiSDK) - Build Settings-Architectures 增加armv7s。 如果你用的真机是iPhone5 C,生成的Framework不支持armv7s,默认的Architectures不包含armv7s。 所以要在Architectures下增加armv7s,并选中。(个人测过xcode10打包出来的不需要加入这个了。)

第三步 合成虚拟机库和真机库

说实话这个没什么好说的,就是一句命令行

lipo -create 虚拟机库.a 真机库.a -output .../Desktop/??.a(生成路径)

搞定了。

相关文章

  • iOS静态库与动态库的区别与打包

    iOS静态库与动态库的区别与打包iOS静态库与动态库的区别与打包

  • iOS打包.a静态库步骤

    打包静态库流程 1.创建静态库 2.实现类 3.公开.h文件 4.打包模拟器静态库 5.打包真机静态库 6.合并模...

  • 目录一、库二、静态库、动态库、Framework三、打包静态库 1、.a静态库和.framework静态库的区别 ...

  • iOS 打包动态库和静态库

    打包注意,真机下打包的静态库只能在真机下运行,模拟器下打包的静态库只能在模拟器下运行 1.打包.a静态库 在.h和...

  • 使用cocoapods打包静态库(依赖私有库,开源库,私有库又

    之前整理过一种打包静态库的方法: 打包静态库(源码中包含其他静态库以及开源库)。不过这种方式的缺点很明显:1. 需...

  • Code signing "QuCore-ThirdParty.

    检查QuCore-ThirdParty.framework为debug版本静态库,尝试使用release版本静态库打包

  • 静态库制作总结

    静态库打包的完整正确步骤确定是静态库.a的肯定是静态库.framework的需要设置链接类型:target -> ...

  • cocoapods打包静态库,引用了AFNetworking等三

    接上篇cocoapods打包静态库(静态库引用.a,.Framework, .bundle文件,本文讲解再引入AF...

  • 打包静态库.a

    以xcode9.1为例,创建新的静态库工程,如图 设置需要暴露的头文件添加Headers, 步骤为:TARGET-...

  • 静态库打包

    为什么把代码打包成库? 不想让别人看到.m文件 直接Link编译好的二进制代码,节省编译时间 方便代码的管理 Li...

网友评论

      本文标题:打包静态库

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