ios  framework 分离与合并多种CPU架构,分离与合并模拟器与真机

如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framework中分离出各种架构,然后合并你需要的,具体的方式举例如下:

 
首先从framework中分离出armv7 arm64,或者还有armv7s
 
lipo XXXX.framework/XXXX -thin arm64 -output XXXX.framework/XXXX-arm64
lipo XXXX.framework/XXXX -thin armv7 -output XXXX.framework/XXXX-armv7
 
然后合并分离出的两种架构
 
lipo -create XXXX.framework/XXXX-armv7 XXXX.framework/XXXX-arm64 -output XXXX.framework/XXXX
 
注:查询framework支持哪些架构,命令为:
lipo -info XXXX.framework/XXXX
 
如此便去掉了i386和x86_64的支持
 
 
本文转帖与:http://blog.sina.com.cn/s/blog_9077079d0102wiy7.html

ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机的更多相关文章

  1. 判断IOS静态库(.a文件)是否支持模拟器和真机运行

    判断IOS静态库(.a文件)是否支持模拟器和真机运行 在mac终端下,进入到.a文件目录下,然后输入: lipo -info libMyAlertView.a Architectures in the ...

  2. 利用lipo编译合并iPhone模拟器和真机通用的静态类

    利用lipo编译合并iPhone模拟器和真机通用的静态类 如何编译静态类库,而且现在网上也有很多的教程,现在问题时我们编译好了的静态类库会时两个版本的.a文件,分别用于模拟器和iPhone真迹,因此M ...

  3. 合并模拟器和真机的静态库动态库aggregate

    创建Aggregate的target 在Build Phases 添加Run Script,内容为 scriptFile=${SRCROOT}/universalA.shsh ${scriptFile ...

  4. [转] iOS开发之使用lipo命令制作模拟器与真机通用静态库

    转自 http://blog.csdn.net/jinglijun/article/details/8276089 通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac ...

  5. iOS 静态库中使用宏定义区分iPhone模拟器与真机---备用

    问题描述 一般项目中,可以使用宏定义来判断模拟器还是真机,这无疑是有效的. #if TARGET_IPHONE_SIMULATOR #define SIMULATOR 1 #elif TARGET_O ...

  6. iOS开发--使用lipo命令制作模拟器与真机通用静态库

    通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况. 为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要. 现在有 ...

  7. Xcode下开发c静态库for ios CPU架构 静态库合并

    新建一个Cocoa Touch Static  Library工程 1,先在工程左侧删除“工程名Tests”下的文件与文件夹(从内往外删,最后删除"工程名Tests文件夹") :D ...

  8. iOS判断是模拟器还是真机

    #if TARGET_IPHONE_SIMULATOR //模拟器   #elif TARGET_OS_IPHONE //真机   #endif

  9. iOS打包Framework真机和模拟器兼容合并版本 - 详细攻略步骤

    打包Framework,测试时: 1.用模拟器打包,测试时只能跑在模拟器 2.用真机打包,测试时只能跑在真机 那么怎么做到一个版本兼容以上两种场景呢? 解决如下: 1.打开终端 2.输入   lipo ...

随机推荐

  1. Asp.Net Razor中的Consistent Layout

    有意义的参考:http://www.asp.net/web-pages/tutorials/working-with-pages/3-creating-a-consistent-look Asp.ne ...

  2. 扩展Wcf call security service, 手动添加 Soap Security Head.

    有次我们有个项目需要Call 一个 Java 的 web service, Soap包中需要一个 Security Head <soapenv:Header> <wsse:Secur ...

  3. Dev统计选中行、如需其他数据源可留言

    Clipboard.Clear(); Dictionary<string, decimal> dtary = new Dictionary<string, decimal>() ...

  4. 调用线程无法访问此对象,因为另一个线程拥有该对象 [c# wpf定时器程序报的错误]

    WPF:Dispatcher.Invoke 方法,只有在其上创建 Dispatcher 的线程才可以直接访问DispatcherObject.若要从不同于在其上创建 DispatcherObject ...

  5. Hadoop:部署Hadoop Single Node

    一.环境准备 1.系统环境 CentOS 7 2.软件环境 OpenJDK # 查询可安装的OpenJDK软件包[root@server1] yum search java | grep jdk... ...

  6. 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  7. Application Pool

  8. Html的智能表单

    -新的输入类型 -email -url -number -range -Date pickers ( date ,month ,week, time , datetime ,datetime-loca ...

  9. Windows Azure Storage 之 Retry Policy (用来处理短暂性错误-Transient Fault)

    在使用Windows Azure Storage Service 的时候, 通常会遇到各种各样的问题. 例如网络连接不稳定,导致请求没有发出去.删除一个Blob Container 之后又立刻创建同名 ...

  10. Linux:-防火墙iptables如何个性化定制?

    身份标签/usr/local/etc/identity,主脚本iptables.sh,附属目录functions/iptables.d ├── iptables.sh ├── functions│   ...