如果写了一个Framework,根据Build时选择的机器类型,会分为模拟器Framework和真机Framework,两者是不能混用的。

此时可以通过配置一个Run Script,在Script中使用lipo命令来合并两个版本的Framework,重新生成一个新的Framework,这个Framework将同时支持在模拟器和真机上运行。

在项目的Build Phases中,新建一个Run Script,输入下面内容:

if [ "${ACTION}" = "build" ]

then

INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework

DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework

SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework

if [ -d "${INSTALL_DIR}" ]

then

rm -rf "${INSTALL_DIR}"

fi

mkdir -p "${INSTALL_DIR}"

cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/"

#ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers"

lipo -create "${DEVICE_DIR}/${PROJECT_NAME}" "${SIMULATOR_DIR}/${PROJECT_NAME}" -output "${INSTALL_DIR}/${PROJECT_NAME}"

#open "${DEVICE_DIR}"

#open "${SRCROOT}/Products"

fi

当项目再次Build时,就会在项目目录下面出现Products目录,里面包含了合并后的Framework文件夹。

使用lipo -info来检测下:

lipo -info 二进制文件路径(拖进来即可)

如果出现 :

x86_64 armv7 arm64

说明成功了!!!

iOS静态库.Framework制作

首先要解释一下什么是库,库(Library)其实就是一段编译好的二进制代码,加上头文件就可以供别人使用,一般会有两种情况要用到库: 某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式 ...

iOS : 静态库制作

一.静态库简介 1. 什么是库? 库 就是程序代码的集合, 是共享程序代码的一种方式 2. 库的分类? 开源库 公开源代码, 能看到具体实现 例如MJExtension, MJRefresh, AFN ...

iOS 静态库,动态库与 Framework

iOS 静态库,动态库与 Framework     静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢 ...

iOS静态库转Framework动态库

参考文章: iOS静态库(.a 和framework)  XCode6制作动态及静态Framework  说说iOS中静态库的开发  dyld: Library not loaded: @rpath/ ...

iOS静态库小结--(yoowei)

准备知识: 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.根据源代码的公开情况,库可以分为2种类型 a.开源库 公开源代码,能看到具体实现 ,比如SDWebImage.AFNetw ...

iOS 静态库的封装

参考网址:http://www.jianshu.com/p/b754709135fb http://www.jianshu.com/p/443a5b8f3894   注意:封装静态库时要注意的地方: ...

iOS - 静态库的创建与使用

在日常项目开发中,不论是为了两个公司项目上的业务交流还是为了减少项目的编译时间,有的时候我们会把项目中的私密内容打包成静态库,或者是把项目中变动较少一部分打包成静态库以便提高编译效率,那么下面我们就来 ...

IOS静态库

如何在Xcode中创建C++静态库 http://jingyan.baidu.com/article/03b2f78c111fca5ea237ae26.html iOS 如何创建和使用静态库 http ...

iOS静态库 ---iOS-Apple苹果官方文档翻译

iOS静态库 ---iOS-Apple苹果官方文档翻译 •什么是库? 库是共享程序代码的方式,一般分为静态库和动态库.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使⽤用就为什 ...

随机推荐

基础才是重中之重~ConcurrentDictionary让你的多线程代码更优美

回到目录 ConcurrentDictionary是.net4.0推出的一套线程安全集合里的其中一个,和它一起被发行的还有ConcurrentStack,ConcurrentQueue等类型,它们的单 ...

删除(注意,删除后,后面顶上去,所以id会一直变,所以我们用class来定义,因为id是唯一的)

删除de $(".delete").on("click",function(){ var id = $(this).attr("value" ...

2015广东工业大学ACM学校巡回赛 I 游戏高手 (如压力dp)

Problem I: 游戏王 Description 小学的时候,Stubird很喜欢玩游戏王.有一天,他发现了一个绝佳的连锁组合,这个连锁组合须要6张卡. 但是他一张都没有,但是他的那些朋友们有.只 ...

多个AsynceTask无法同时运行的现象分析

关于这篇博客所提到的问题是在一段再简单不过的代码中意外出现的.当时我使用了两个不同'AsyncTask'帮助我执行两个需要在后台执行任务.并且这两个'AsyncTask'几乎是同时运行的.原本会正常运 ...

SSL证书指令

转自:http://blog.csdn.net/madding/article/details/26717963 生成Self Signed证书 # 生成一个key,你的私钥,openssl会提示你输 ...

python requests库爬取网页小实例:ip地址查询

ip地址查询的全代码: 智力使用ip183网站进行ip地址归属地的查询,我们在查询的过程是通过构造url进行查询的,将要查询的ip地址以参数的形式添加在ip183url后面即可. #ip地址查询的全代 ...

Frameset 框架

Confluence 6 管理协同编辑 - 代理和 SSL 的考虑

对于你如何连接  Synchrony 是与你的环境有关的.我们知道绝大部分的 Confluence 站点是运行在反向代理后面的,同时还使用了 SSL.这里是帮助你在你环境中识别正确的配置的一些信息和一 ...

@+id/和android:id有什么区别?

Any View object may have an integer ID associated with it, to uniquely identify the View within the ...

元组,列表的增删改查, for,range 循环

1. list(增删改查) 列表可以装大量的数据. 不限制数据类型. 表示方式:[] 方括号中的每一项用逗号隔开 列表和字符串一样.也有索引和切片 常用的功能: 1. 增: append() 2. 删 ...

ios 静态库合成_iOS : 静态库(.framework)合并相关推荐

  1. ios 静态库合成_iOS链接原理解析与应用实践

    在iOS App开发中,程序的链接是由Xcode中自带的LLVM来帮助我们完成的,程序员们也因此更注重业务逻辑的编写.但其实了解链接的原理能让我们对iOS的底层有更深层次的认识,也有助于我们从底层原理 ...

  2. ios 静态库合成_iOS生成静态库方法-iOS集成静态库-iOS合并静态库

    在iOS的开发过程中,我们常常用到第三方的库.尤其是QQ.百度地图.广告等. 那么,如何制作自己的库文件呢? 如果,将自己写的功能类编译成库文件,分发给其他人来使用呢? 静态库的优点 编译静态库的好处 ...

  3. iOS:Xcode7下创建 .a静态库 和 .framework静态库

    Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...

  4. iOS架构-cocoapods打包静态库(依赖私有库、开源库、私有库又包含静态库)(14)

    前言: iOS工程架构少不了cocoapods 对第三方库的管理,它有着很好的操作性和集中管理的特性.之前的写了不少Xcode 建静态库工程打包.a 和 .framework 的文章,但是我们要先建静 ...

  5. ios 重复引用 静态库_Swift 制作静态库

    Github地址:https://github.com/LINGLemon/LXFSwiftApp Swift不支持.a的静态库,因此只能制作.framework的静态库 动态库和静态库的区别 库: ...

  6. iOS开发中解决第三方静态库符号冲突的终极方案

    iOS开发中解决第三方静态库符号冲突的终极方案 背景 在iOS开发的时候,经常会使用各种第三方静态库,这些库内部可能会打包了相同的第三方库.那么在链接的时候就会发生符号冲突. 例如:A厂商提供的lib ...

  7. 库文件、静态库(lib)与动态库(dll)的生成与使用

    静态库 程序编译一般需经预处理.编译.汇编和链接几个步骤.在应用中,有一些公共代码是需要反复使用,就把这些代码编译为"库"文件:在链接步骤中,连接器将从库文件取得所需的代码,复制到 ...

  8. PHP编译为静态库,makefile生成静态库和动态库

    库是一种软件组件技术,库里面封装了数据和函数. 库的使用可以使程序模块化. Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件). Linux通常把库文件存放在/usr/lib ...

  9. C++ 调用lib 和 dll的 方法 及 动态库DLL与静态库lib的区别

    C++ 调用.lib的方法: 一: 隐式的加载时链接,有三种方法 1  LIB文件直接加入到工程文件列表中 在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中"Add F ...

最新文章

  1. 分布式框架-日志系统思路及实现
  2. 安装wamp时出现httpd.exe无法找到组件MSVCR100.dll的解决办法
  3. 全国计算机等级考试题库二级C操作题100套(第17套)
  4. [Swift]LeetCode74. 搜索二维矩阵 | Search a 2D Matrix
  5. Oracle_PL/SQL developer拷贝粘贴中文乱码问题
  6. curl 发送各种格式的请求
  7. 软件工程小组第六次会议记录
  8. VS2019下安装NumCpp库小结
  9. 从0开始,设计研发一个全功能通用大数据系统
  10. 三菱plc控制步进电机实例_电工想做PLC工程师?那步进电机的编程控制指令你一定要了解...
  11. 【NABCD需求分析】Time Shaft·时间轴
  12. eog - eog:19220): GLib-GIO-ERROR **: Settings schema ‘org.gnome.eog.plugins‘ is not installed
  13. 固态硬盘数据丢失能恢复吗?含泪分享:固态硬盘数据恢复方法
  14. Git远程操作详解(clone、remote、fetch、pull、push)
  15. 520到了! 我用Python拜托周董为我和女友送上祝福!
  16. 最大信息熵增益_信息熵(Entropy)、信息增益(Information Gain)
  17. Mac设置Office的语言问题
  18. access中dbs和dbms_数据库(DB)、数据库系统(DBS)及数据库管理系统(DBMS)三者之间的关系是( )。...
  19. 必读论文 | 卷积神经网络百篇经典论文推荐
  20. Android incorrect AVA format

热门文章

  1. python3 应用 nose_parameterized 实现unittest 参数化
  2. django-xadmin使用之更改菜单url
  3. thinkPHP-空操作
  4. C#中ListT用法
  5. linux文件IO——文件IO介绍
  6. (转)Windows系统、Linux系统 和 Mac OS操作系统 历史由来 与 区别?
  7. android app 适应不同大小屏幕_移动APP测试:Android屏幕适配问题二
  8. word取消空格显示为点
  9. java官方 jax rs_jboss7 Java API for RESTful Web Services (JAX-RS) 官方文档
  10. css盒子模型_css的盒子模型是什么