我的例子是打包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 //为两个合并后存放的路径

最新文章

  1. Java 字符串格式化详解
  2. 第五章 --- 关于Javascript 设计模式 之 发布-订阅模式
  3. linux 安装nexus
  4. HashMap源码阅读笔记(基于jdk1.8)
  5. 对kinderEditor 的空内容进行验证
  6. ORACLE误删除ASM磁盘修复
  7. MySql和Oracle的日期转换到底有哪些不同?我们来比较一下
  8. C++的隐式类型转换
  9. Java起源、发展历程、环境变量、第一个Java程序等【1】
  10. Hibernate之继承映射
  11. 【数学/扩展欧几里得/线性求逆元】[Sdoi2008]沙拉公主的困惑
  12. ACM-简单题之Ignatius and the Princess II——hdu1027
  13. iText 文本
  14. linux下安装tomcat,并设置自动启动
  15. HUD1862:EXCEL排序
  16. jmeter 环境部署、数据库设置、分布式设置、多网卡配置等随笔
  17. 记一次Java的内存泄露分析
  18. Android继承AppCompatActivity实现全屏设置
  19. 前后端不分离的springboot项目问题:页面框架问题
  20. 音频格式软件 GoldWave 支持V3

热门文章

  1. 未能加载文件或程序集“Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=30a [问题点数:40分,结帖人u010259408]
  2. Linux内核总结
  3. PG, Pool之间的一些数量关系
  4. JS-确认框
  5. IAR EW8051-8.10.4安装及破解方法
  6. c语言-交换两个整数
  7. 【测试分析】HTSM模型
  8. jquery中.attr('value')和.val()的区别
  9. C语言 ---- 基本数据类型和基本运算 iOS学习-----细碎知识点总结
  10. 变量在SSIS包中的使用