我的例子是打包MJRefresh

环境OS10.11.4,  XCode Version 7.3.1 (7D1014)

生成.a如下:

  1. 创建新工程:

  2. 把下载的 MJRefresh-master加到你的工程中,如下:

工程显示如下

3.然后进行如下图操作

4.你要把compile source这里的.m文件删除多余的,仅保留暴露的.h对应的.m,(不然的话,会报文件重复错误)如下图:

5.先生成模拟器的.a包,选中模拟器,然后编译(command + B)

6.成功后Products下面的.a文件会变成黑色,选中这个 .a 然后右键Show in Finder,就可以看到模拟器的.a了,如下图

真机的.a包也是一样生成,重复第五步骤就可以。

这样我们就得到了模拟器和真机的.a包。

下面我们就开始使用,

7.新建工程RefreshDemo,把.a包拖拽到新建工程,删除要暴露的.m文件,如下图:

这个时候关键一步,设置RefreshDemo工程:other Linker Falg 设置为:-all_load,因为我要暴露的是个category,不设置的话,就会崩溃,报错为找不到某方法,假如你的.a没有category就不需要设置了。设置图如下:

刷新调用代码是

// 下拉刷新

1
2
    _listTableView.mj_header= [MJRefreshNormalHeader headerWithRefreshingBlock:^{
    }];

到此,大功告成,运行效果如下:

真机和模拟器都可以使用.a文件可以合并成为一个.a文件 使用终端合成具体方法如下:

终端代码如下:
lipo -create /iOS/Debug-iphoneos/librefreshDemoStaticLibrary.a /iOS/Debug-iphonesimulator/librefreshDemoStaticLibrary.a  -output SQY/iOS/libGamePus.a其中SQY/iOS/iphoneos/libGamePlusAPI.a //为真机库。  
/iOS/iphonesimulator/librefreshStaticLibrary.a //为模拟器库
-output /iOS/librefreshStaticLibrary.a //为两个合并后存放的路径

手把手教iOS生成.a包及常见的问题的更多相关文章

  1. iOS生成Bundle包及使用

    什么是Bundle文件? 简单理解,就是资源文件包.我们将许多图片.XIB.文本文件组织在一起,打包成一个Bundle文件.方便在其他项目中引用包内的资源. Bundle文件的特点? Bundle是静 ...

  2. 手把手教你生成二维码-google.zxing

    一.目标 输入网址,生成网址的二维码 二.概况 1.效果:UI丑,但功能实现了 2.项目目录 三.用到的第三方资源 1.google的扫码包zxing 2.JQuery 四.步骤(用myEclipse ...

  3. 手把手教你提交Jar包到Maven公共仓库 | 萌新写开源02

    在上一篇文章中,我介绍了自己的SpringBoot Starter项目,可以让我们使用注解的方式轻松地获取操作日志,并推送到指定数据源. 之前,我的项目开源在Github上,大家想要用我的项目,还得把 ...

  4. iOS 非ARC基本内存管理系列 -手把手教你ARC——iOS/Mac开发ARC入门和使用(转)

    手把手教你ARC——iOS/Mac开发ARC入门和使用 Revolution of Objective-c 本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流 ...

  5. 手把手教你搭建Pytest+Allure2.X环境详细教程,生成让你一见钟情的测试报告(非常详细,非常实用)

    简介 宏哥之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的report框架替换之.一次偶然的机会, ...

  6. 手把手教你定位常见Java性能问题

    概述 性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙 ...

  7. UWP Jenkins + NuGet + MSBuild 手把手教你做自动UWP Build 和 App store包

    背景 项目上需要做UWP的自动安装包,在以前的公司接触的是TFS来做自动build. 公司要求用Jenkins来做,别笑话我,之前还真不晓得这个东西. 会的同学请看一下指出错误,不会的同学请先自行脑补 ...

  8. 手把手教你修改iOS版QQ的运动步数

    手把手教你修改iOS版QQ的运动步数 现在很多软件都加上了运动模块,比如QQ和微信,而且还有排行榜,可以和好友比较谁的运动步数多,任何东西只要添加了比较功能,就变得不一样了.今天教大家用代码去修改QQ ...

  9. 手把手教你如何搭建iOS项目基本框架

    手把手教你如何搭建iOS项目基本框架 今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做 ...

随机推荐

  1. Java序列化机制

    java的序列化机制支持将对象序列化为本地文件或者通过网络传输至别处, 而反序列化则可以读取流中的数据, 并将其转换为java对象. 被序列化的类需要实现Serializable接口, 使用Objec ...

  2. JavaScript 入门教程一 开篇介绍

    一.JavaScript 刚开始是为了解决一些由服务器端进行的验证而开发的前端语言.在宽带还不普及的90年代,当用户辛苦输入很多信息并提交给服务器后,等了漫长的时间,等到的不是提交成功的提示而是某些必 ...

  3. ThinkPHP 3.2.3 Widget 扩展的使用

    ThinkPHP3.2.3 手册中 Widget 扩展的地址是: http://www.kancloud.cn/manual/thinkphp/1862 Widget 扩展一般用于页面组件的扩展,和自 ...

  4. ext3grep 模拟恢复删除文件

    一,下载ext3grep-0.10.1.tar.gz 点此下载 二,安装 #tar zxvf ext3grep-0.10.1.tar.gz #cd ext3grep-0.10.1 #./configu ...

  5. phpcms 导航栏点击栏目颜色定位方法和phpcms list页实现分页

    另:一个栏目下面如果没有子栏目,那么它调用的模板就是列表页模板(及list_为前缀的模板):如果一个栏目下面有子栏目,那么它调用的就是栏目首页模板(category_为前缀的模板). 当你这个栏目添加 ...

  6. 周记:Linux下C编程

    也啥都没干,计划一个都没干.吼吼-- 周六去看[21天学通Linux_C编程]笔记: 突然都对这本书没信心了.刚开始,就出现的不满如下:1.创建vim启动器时候,类型要选择[终端下的应用程序]没说,虽 ...

  7. Node.js 使用 soap 模块请求 WebService 服务接口

    项目开发中需要请求webservice服务,前端主要使用node.js 作为运行环境,因此可以使用soap进行请求. 使用SOAP请求webservice服务的流程如下: 1.进入项目目录,安装 so ...

  8. List<T> 添加 DataTable

    public System.Data.DataTable getDataTable() { System.Data.DataTable dt = new System.Data.DataTable() ...

  9. 以一则LUA实例说明敏捷开发中“分离构造和使用”原则

    分离构造和使用 构造含义是功能的实现, 此功能是一个定义明确的处理过程, 开放出明确的接口给调用者使用. 则使用者可以直接调用接口进行使用, 但是使用者需要搞清楚, 那些是构造, 那些是使用. 不要再 ...

  10. js省市联动

    <html> <head> <script src="http://files.cnblogs.com/files/beiz/jquery-1.8.3.js&q ...