IOS SDK开发详解(.framework、.a、Bundle资源文件创建、SDK中使用其他SDK等)

IOS SDK开发详解(.framework、.a、Bundle资源文件创建、SDK中使用其他SDK等),第1张

软件开发工具包(缩写:SDK,英语全称:Software Development Kit),一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、 *** 作系统等建立应用软件时的开发工具的集合。

在OC的开发中,我们涉及到的一般是静态库(.a)或者动态库(.framework)。(注:不是所有的.framework就一定是动态库)

.a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。 .a文件不能直接使用,至少要有.h文件配合(微信的SDK就是这种形式),.framework文件可以直接使用。 .a + .h + sourceFile = .framework。 建议用.framework。再者 静态方式开发,一直是iOS SDK开发的主流方式。

终端输出为:armv7 arm64 是真机架构;i386 x86_64 是模拟器架构。

终端输出为:arm64 是真机架构;x86_64 是模拟器架构。

Bundle 和 其他的SDK都要和创建的SDK放在同一个文件夹,然后拖入要使用的项目中,如果该项目中的SDK和创建的SDK中的引用的SDK重复,那么就只要保持存在一个就好了。

实际开发中离不开静态库的使用,记录一下

.a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。

.a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。

.a + .h + sourceFile = .framework。

创建

配置如下

加到主工程

配置路径

导入头文件 使用

targets->Build Phases->Copy Files->"+"你需要公开的头文件

所有流程都跟上面的一样,只是我们运行打包时要选择真机运行,你可以选择自己插上去的真机,也可以选择Generic ios Devices。当然不要忘记了设置支持所有真机机型架构: Build Active Architecture Only 设为NO。

分别使用真机或者Generic iOS Device 和 随便一个模拟器运行静态库 得到模拟器静态库和真机静态库 然后在Finder 中打开

Show in Finder

通过命令行合并 (注意 库的名称要一致)

lipo -create 第一个.a文件的绝对路径 第二个.a文件的绝对路径 -output 最终的.a文件路径

然后在工程中将这个.a 替换就支持真机和模拟器了

workspace里 Argos是主工程 LJNetwork是一个静态库工程 AGFramework.framework是打包好并导入到主工程的静态库

现在LJNetwork要引用AGFramework.framework库

只需要在LJNetwork的Build Setting —>User Header Search Paths 中 拉入AGFramework.framework中的Headers文件夹的路径

静态库LJNetwork引用 静态库LJFoundation的文件

配置如下

静态库LJNetwork要引用pods中的AFNetworking 如下设置

个人博客地址: https://youyou0909.github.io


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11873713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存