美文网首页js css html
打framework包流程

打framework包流程

作者: 物非0人非 | 来源:发表于2022-10-12 17:10 被阅读0次

在动手操作打framework之前,我们先来了解一下一些基本的概念。

1:什么是类库?

源代码经过编译形成的二进制代码,别人项目中在使用我们的库的时候,库在参与编译的时候直接link就可以啦,按照link的方式可以把库分为静态库动态库

2:什么是静态库?

静态库在编译的时候会被直接拷贝一份,复制到目标程序中,这段代码在目标程序中就不会再改变了。一般以.a.framework为文件后缀名。这种做法是牺牲应用体量来节省编译时间。

3:什么是动态库?

静态库相反,动态库在编译时并不会被拷贝到目标程序中,目标程序中只会存储指向动态库的引用。等到程序运行时,动态库才会被真正加载进来。
动态库的优点是,不需要拷贝到目标程序中,不会影响目标程序的体积,而且同一份库可以被多个程序使用(因为这个原因,动态库也被称作共享库)。
同时,编译时才载入的特性,也可以让我们随时对库进行替换,而不需要重新编译代码。动态库带来的问题主要是,动态载入会带来一部分性能损失,使用动态库也会使得程序依赖于外部环境。如果环境缺少动态库或者库的版本不正确,就会导致程序无法运行
.tbd(之前叫.dylib).framework 为文件后缀名

苹果系统为我们提供了很多动态链接库,我们可以在我们项目工程中查看一下

4.什么是 Framework

Framework 是一种打包方式,将库的二进制文件,头文件和有关的资源文件打包到一起,方便管理和分发。
Framework只是一种打包方式,其本身和静态、动态无关!

framework制造步骤

第一步:创建工程
image.png image.png image.png image.png
image.png
image.png
第二步:添加自己的测试文件,添加到header里面
第一种:private(共有类型,可以对外暴漏)
第二种:public (共有类型,可以对外暴漏)
第三种:project (私有类型,不可以对外暴漏)
image.png
第三步:在项目自动生成的头文件中将自己要暴漏出去的文件写入该header文件中
image.png

第四步:选择你要做的是静态库还是`动态库

image.png
第四步:配置product文件,之前xocde会自动生成,现在不会了

Xcode 13 新建工程找不到product文件夹
解决办法:cd 到工程目录下

1. open  xxx.xcodeproj/project.pbxproj
2. 搜索 "productRefGroup"。如下类似 (注意细看mainGroup和productRefGroup的值是不一样的)
    mainGroup = 1A5B6EB72786888E0069399B;
    productRefGroup = 1A5B6EC22786888E0069399B /* Products */;  《---就是这个
3. 将上面 `mainGroup` 对应的值复制给 `productRefGroup`即可
4. command + S  保存
重启下就有了

相关文章

  • 打framework包流程

    在动手操作打framework之前,我们先来了解一下一些基本的概念。 1:什么是类库? 库是源代码经过编译形成的二...

  • Xcode13打包framework全流程

    制作.framework 1.首先,我们新建工程,选择Framework 2.创建工具类 3.更改参数配置: (1...

  • iOS | 记录脚本

    制作framework时生成静态库的脚本 制作流程参考:iOS | 自制framework详细图文流程介绍[htt...

  • Jenkins打测试包流程

    一、在原有包基础上修改配置 1、点击登录,登录Jenkins账号 2、选择某一个分支点击进入 3、选择配置进入配置...

  • AndroidStudio打Jar包流程

    1:new 一个module,类型是library 2: build/rebuild项目,获取 classes.j...

  • Jenkins 持续集成实现 Android 自动化打包

    打 debug 包流程: git pull 分支最新代码 Android Studio:Build - Gener...

  • 手把手教你打framework包

    在动手操作打framework之前,我们先来了解一下一些基本的概念。1:什么是类库?库是源代码经过编译形成的二进制...

  • Xcode7打包Framework

    新建framework工程 系统版本支持 iOS(8.0-) 支持 Category支持 当你的framework...

  • Xcode7打包Framework

    一、打包Framework 1、新建iOS->Framework & Library->Cocoa Touch F...

  • Spring Framework

    Spring Framework 源码 最新的Spring Framework 5包含:

网友评论

    本文标题:打framework包流程

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