美文网首页
iOS-怎样建立一个静态库

iOS-怎样建立一个静态库

作者: Summer琼 | 来源:发表于2016-12-11 03:02 被阅读441次

首先介绍一下什么是静态库?

程序编译一般需经预处理、编译、汇编和链接几个步骤。在应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库称为静态库

简单来说:"静态库就是程序代码的集合,是共享代码的一种方式"

静态库存在的形式


分为 .a 和 .framework 

动态库和静态库使用上的区别


苹果系统内部都是使用的动态库,因为性能比较高;

静态库和动态库在使用上的区别

静态库:链接时,静态库中使用的文件会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝

动态库:不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存

需要注意的是:

项目中如果使用了自制的动态库,不能被上传到AppStore 

原因:安全问题(能替换系统内部方法的话,能窃取用户信息);

创建静态库


说了这么多开始上图!

创建仓库,在文件中写入方法!

在运行一下~

创建一个新的Demo用来测试

导入头文件,

就可以直接用了!怎么样 .a 静态库很简单吧!

带资源的静态库


首先库的文件中添加使用图片的方法!


拖一个资源时别忘了勾选!!

添加路径..资源

需要 运行一下,去资源库文件夹里查看,资源是否存在

 拖到Demo项目中去, 就可以调用方法使用资源了!

我们开发中一搬把文件放在bundle里面

在样开发测试库太麻烦,所以,我们采用第二套方案

把图片资源直接拖到Bundle里面,

更改一下方法中使用读取图片的方法!改成从Bundle中读取就可以了!

运行一下!把库文件拖入Demo中!

别怪我啰嗦,记得Demo中我们上一次使用的没带资源的库,要删除掉!在项目中删除,还要在跳进去,在文件夹中删除!不然拖不进去!

这样我们的 .a 的静态库就做好了!!!很简单吧!

.Framework和.a创建方法差不多!几个注意的地方我这里简单说一下!!

首先创建成功的.framwork 是动态的需要修改一下

注意 创建静态库别忘了需改-ObjC 不然会崩掉!

这是本人自己的理解!如有不对的地方,还望海涵!!!!!!

相关文章

  • iOS-怎样建立一个静态库

    首先介绍一下什么是静态库? 程序编译一般需经预处理、编译、汇编和链接几个步骤。在应用中,有一些公共代码是需要反复使...

  • 06.iOS 静态库的封装和使用

    @(〓〓 iOS-实用技术)[静态库/动态库封装] 作者: Liwx 邮箱: 1032282633@qq.com...

  • cocoaPods 打包静态库 遇到的坑 and git

    cocoaPods 打包静态库 遇到的坑参考资料iOS 打包.a文件的那些事儿iOS-将自己的库支持CocoaPo...

  • iOS-静态库&动态库

    静态库和动态库的区别,网上已经有很多文章了,这里就不做介绍了,本文主要讲下如何制作对应的库。 静态库制作: .a文...

  • iOS-静态库、动态库

    库是共享代码的方式,根据源代码的公开情况,库可以分为两种类型: 开源库公开源代码,能看到具体实现,比如SDWebI...

  • iOS-动态库、静态库

    编译 将人类可读的程序代码文本 --> 翻译成为 --> 计算机可以执行的二进制指令。即:源程序 --> 翻译成为...

  • iOS-静态库制作

    iOS中静态库制作非常简单,只要注意编译的架构和真机模拟器的合并,基本上静态库就可以投入使用.1.创建静态库 2....

  • iOS- 静态库、动态库、Bundle

    静态库:.a文件、framework文件动态库:.tbd文件、framework文件Bundle: 资源文件 ...

  • iOS-制作.a静态库SDK和使用.a静态库

    创建静态项目 创建一个新的工程,选择Framework & Library下面的Cocoa Touch Frame...

  • iOS创建并使用自定义静态库和动态库

    一、创建一个静态库或动态库 1、创建一个静态库、动态库步骤: 静态库:创建一个新的项目,选择方框中的静态库,然后N...

网友评论

      本文标题:iOS-怎样建立一个静态库

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