浅谈iOS开发.a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)
来源:互联网 发布:达芬奇消失的两年 知乎 编辑:程序博客网 时间:2024/06/06 15:50
最近一个人在做一个即时通讯SDK的项目,所以就用到了静态库的打包,开始遇到一些困难和莫名的bug,不过现在已经基本完成。现在,浅谈一下个人经验。首先,概述一些最基本的名词概念,也是为了大家能更好的理解我们究竟在做什么 为什么要这样做 有了这些基本的逻辑思维 那么其他什么就都不是事哈 (不要拦我 我要开始发功了)哈哈哈
一、概念篇
动态库,不能被上传到AppStore(逼格太高 大苹果可是不允许的哈 哈哈)
总结:个人觉得 .a静态库的 本身就是一个对代码或者一个功能的封装,只不过是不开源的。
二、制作流程(如下均是Xcode7展示的操作)
新建一个纯净的项目-> 选择 “Cocoa Touch Static Library”
输入想要打包的静态库的名称
把库需要包含的源代码拖入此项目中
此处有一些注意点见下图
右击“ShowInFinder”,查看制作好的.a文件
首先文件切换到 Products文件夹
然后输入
lipo -create Debug-iphoneos/libXXX.a Debug-iphonesimulator/libXXX.a -output libXXX.a
使用.a 静态库
现在.a静态库和头文件都有了就可以把它们拖到项目中使用了
使用时直接#import"xxx.h"就可以直接导入调用使用了
至此,静态库算是制作完了,但是有以下几点需要说明
倘若自己所需要打包的静态库代码中用到了别人的三方框架比如“AFNetworking”等,此时只需要把用到的三方库文件的头文件在选择暴露头文件时都给暴露出去,然后导入的项目中如果也用到了相同的三方框架,此时此项目就不需要拖入这个三方库代码直接,需要使用时直接把你所提供的.a静态库和头文件导入 然后#import你所提供的相关头文件即可使用(注意:一定是以你的打包的为准)比如 直接#import"xxx.h"
若是自己的静态库原代码中使用了分类 比如NSString+xxxx,此时一定需要更改下项目的环境配置
添加一个“-ObjC”(注意"O""C"是大写的)
总结:个人的第一个博客,各种小紧张哈,若有问题可以直接在博客回复。个人原创,转载请说明出处。
- 浅谈iOS开发.a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)
- 浅谈iOS开发.a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)
- iOS开发:打包.a静态库文件的步骤
- iOS 静态库a文件的打包 上
- iOS 静态库a文件的打包 中
- iOS 静态库a文件的打包 下
- iOS怎么查看.a静态库所有打包进去的.o文件和函数接口信息?
- 【iOS开发】打包静态库.a文件
- 【iOS开发】打包静态库.a文件
- 【iOS开发】打包静态库.a文件
- ios如何打包成一个通用的静态库文件
- 静态库资源文件、xib、图片打包处理,编译生成的静态库.a包文件太大缩小解决方法
- iOS静态库的打包-徐明伟
- iOS打包模拟器和真机通用的静态库
- Xcode把.a静态库和.h头文件打包成framework的脚本
- (一〇二)静态库(.a)的打包
- 打包静态库.a文件的方法(ar,ranlib,nm命令介绍)
- iOS 打包静态库.a文件
- js验证input不为空且两次输入密码相同
- 得到AppSettings中的配置字符串信息
- iOS 自定义UIButton点击动画特效 —— HERO博客
- interceptors
- TCP并发模型设计
- 浅谈iOS开发.a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)
- JS完美运动框架详解——原理分析及demo
- 认识大数据
- Swift学习笔记 -- 枚举和结构
- HttpURLConnection 用法
- Spark 学习入门教程
- FET输入型放大器
- Android 查看pdf文档——PDFView
- 安卓同样优秀看iOS后Android的进步