本文介绍: 在iOS项目中,经常使用`cocoadpods`来进行依赖管理以及三方库引入等。引入的三方库一般会有几种形式:一、在`Pods`目录下可以直接看到源代码的开源库,如`AFNetworking`,`Masonry`等常见开源库。二、在`Pods`目录下拉取的项目文件只能看到对应的`头文件`和`资源文件`的闭源库,如`AlipaySDK`和`WechatOpenSDK`等,这种三方库一般涉及到商业逻辑和安全性方面的考量,不能开源。
静态库和动态库的区别和使用场景
iOS
项目中经常使用到的三方库有.a
文件、.framework
文件或者.dylib
文件。
.framework
Framework
是iOS/MacOS
平台下的一种打包方式,将编译生成的二进制文件、头文件、资源文件统一打包。最后生成的文件可以是静态库
也可以是动态库
,iOS8以后允许创建自定义的framework。但是,使用到的系统的framework是动态库,而自己创建的自定义framework
则是静态库。
.dylib
.dylib
为动态库。
.a
.a
是纯二进制文件,可以将不希望别人看到的源文件封装起来。提供给三方使用时,需要与.h
文件配合使用。
动态库与静态库区别
动态库在编译中不会被拷贝到目标程序中,只有程序真正运行起来,才会被加载使用。像系统的的UIKit.framework
等动态库,iPhone中的每个app都会用到,但并不会都拷贝一份到各自的app,而是共用系统中的一份。这样就会减少App的大小,同时,如果系统升级,也方便对整个库进行替换,不需要每个app都打包一遍。
静态库则刚好和动态库相反,编译的时候会被直接拷贝一份,复制到目标程序中,这样最终编译出来的ipa包体积会增大。但是,其优点是使用方便。
CocoaPods库创建及使用
CocoaPods与git库关系和结构
CocoaPods 官方库、私有库、本地库
CocoaPods库
创建
CocoaPods库中隐藏源码,只上传编译完成后的framework
库
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。