参考链接

步骤:适配所有的模拟器和真机

——生成.a文件

<1>建一个静态库工程

<2>生成.a文件(注意添加类.h和.m文件)

同理:接入任意款真机,同上述操作,生成真机的.a文件;

<4>合并模拟器和真机.a文件,并生成新的.a文件——此处把模拟器和真机的.a文件剪切到了桌面上,也可以不用放到桌面上!

//找到生成的真机和模拟器的.a文件

//用命令行合并成新的.a文件:lipo -create name1.a所在路径 name2.a所在路径 -output newname.a——注意空格,名字可以全部都一样(name1.a和name2.a直接拖进窗口即可)

<5>导入项目工程中应用

//找到新生成的.a文件

//导入项目工程应用——.h文件和新生成的.a文件一并导入

——生成.framework文件

<1>创建一个framework工程

<2>环境配置

//真机版本适配

//导入目标文件

//设置静态库

//暴露头文件

<3>生成.framework文件夹

步骤同.a文件操作

<4>合成.framework文件——所在位置同.a文件

命令: lipo -create name1所在位置 name2所在位置 -output 新文件名

注:以上name1、name2指的是如下文件(并非FrameworkLib.framework文件夹)

<5>项目应用——将新生成的framework文件导入到模拟器或真机的FrameworkLib.framework文件夹中进行覆盖,再整体导入项目工程中

效果图:

补充:不管是生成.a文件还是.framework文件,区分发布和调试模式

GitHub

静态库打包——.a和.framework文件的更多相关文章

  1. 查看目标文件是否是以-fPIC编译的, ar 打包命令将多个静态库打包到一个里面

    readelf --relocs foo.o | egrep '(GOT|PLT|JU?MP_SLOT)' 上句大多数时候(和平台有关)可以正确判断是否是以fPIC选项编译的,如果输出为空,基本可以表 ...

  2. 【转】iOS静态库 【.a 和framework】【超详细】

    原文网址:https://my.oschina.net/kaqijiang/blog/649632 一.什么是库? 库是共享程序代码的方式. 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存 ...

  3. 使用ar命令删除iOS静态库重复编译的.o文件

    关于 xcode引入第三方静态类库 duplicate symbol _OBJC_XXX 重复编译错误 看这里 http://www.cnblogs.com/cocoajin/p/3917709.ht ...

  4. iOS静态库打包

    当了三年多程序员,第一次写随便,说来有些惭愧.想成为一个优秀的程序员,分析,思考,总结并且做记录是必不可少的,今天先从简单的命令总结记起.好了,废话不多说了,Let's start our games ...

  5. iOS - 静态库的导入和头文件路径的设置

    开发过程中,免不了要用到一些第三方或者是别人写好的一些Demo,这时就经常会用到别人写的一些静态库(.a文件)和n多个头文件(.h文件),这些文件不是简单地把它们拉到自己的工程里面就行的,还要设置一些 ...

  6. iOS - .a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)

    一.概念篇 什么是库? 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetworking ...

  7. Xcode 创建.a和framework静态库(转载)

    库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的静态库有 .a 和 .framework两种形式:动态库有.dylib 和 .framew ...

  8. 经验分享:Xcode 创建.a和framework静态库【转】

    作者:Haley_Wong 最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录. 库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态 ...

  9. Xcode 创建.a和framework静态库

    库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的静态库有 .a 和 .framework两种形式:动态库有.dylib 和 .framew ...

随机推荐

  1. Android onActivityResult和setResult

    如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent,int requestCode)方 ...

  2. Oracle EBS AR 删除应收发票

    DECLARE    -- Non-scalar parameters require additional processing     p_errors arp_trx_validate.mess ...

  3. C# 判断程序是否已经在运行

    方式1: /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { //获取欲启 ...

  4. 能力成熟度模型(CMM)

    能力等级 特点 关键过程 第一级 基本级 软件过程是混乱无序的,对过程几乎没有定义,成功依靠的是个人的才能和经验,管理方式属于反应式   第二级 重复级 建立了基本的项目管理来跟踪进度.费用和功能特征 ...

  5. [C++] 用Xcode来写C++程序[7] Class

    用Xcode来写C++程序[7] Class 不带构造函数的Rectangle类 // // Rectangle.h // Plus // // Created by YouXianMing on 1 ...

  6. Jenkins定时构建和轮询SCM设置说明

    看图说事: 一.定时构建:不管SVN或Git中数据有无变化,均执行定时化的构建任务 : 二.轮询SCM:只要SVN或Git中数据有更新,则执行构建任务: 三.构建语法说明: 1.首先格式为:* * * ...

  7. Linux系统清除多余的账号

    清除多余的账号 注释掉/etc/passwd文件中nologin的行 grep 'nologin' /etc/passwd 注: 目前暂没想到用命令行替换,后面再想想

  8. CSS学习摘要-语法和选择器

    主要摘自网络开发者. 从最基本的层次来看,CSS是由两块内容组合而成的: 属性(Property):一些人类可理解的标识符,这些标识符指出你想修改哪一些样式,例如:字体,宽度,背景颜色等. 属性值(V ...

  9. 铁乐学python_day21_面向对象编程3

    抽象类和接口类 以下内容大部分摘自博客http://www.cnblogs.com/Eva-J/ 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某 ...

  10. PHP利用二叉堆实现TopK-算法的方法详解

    前言 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证 内存和速度的效率,我们可能第一个想法就是利用排序,然后 ...