framework的建立和生成 都比较简单。重点会放在第三块上面(指令集说明及合并)

1.framework target建立

1.1. command + shift + N

选取 ios -> Framework & Library -> Cocoa Touch Framework 新建为一个动态库项目

新建你需要的文件,写入你自己的逻辑,再将该文件的.h 文件写入到对外公开的文件中

如果要使用该文件 需要在target -> Build Phases ->Headers 将需要在外部使用的.h文件从project项移动到public项中

其他需要什么系统框架什么的 就和工程项目一样即可

2.framework 生成

选取你需要编译的环境 iPhone 6.或者 Generic iOS Device

可以将编译环境改为release环境(点击左上角的项目->点开之后选取Edit Scheme -> Run ->Info -> Build Configuration中选取Release即可)

点击运行按钮 成功之后在左侧的Products的组中可以看到一个.framework的文件,右键show in finder.模拟器编译的和真机编译的是不一样的

3.framework iphoneos 与 iphonesimulator  合并

1.先说下内核指令集

//模拟器 内核

    i386 iPhone 4s的8.2版本上能出现
    x86_64 iPhone 7 的最新版本上能出现

        //真机 内核

    armv6 iPhone3G.-
    armv7 iPhone 4s,iPhone 4,或者 Generic iOS Device
    armv7s iPhone 5c,iPhone 5.
    arm64 iPhone 5s,+, 或者 Generic iOS Device

        注:指令集是向下兼容的。因此armv7的指令集是可以运行在iphone5S的,只是效率没那么高而已

     2.查看某个framework支持的指令集

          2.1 进入到当前framework 中  cd /Users/......iphoneos/HGLObjC.framework

          2.2 使用lipo命令查看     lipo -info HGLObjC

                  注:打印如此  Architectures in the fat file: HGLObjC are: armv7 arm64

                       iphoneos 真机地址,iphonesimulator 模拟器地址

      3.合并指令集

          3.1 处于某一个framework中  $ cd /Users/.......iphoneos/HGLObjC.framework

          3.2 合并操作  $lipo -create HGLObjC /Users/.......iphonesimulator/HGLObjC.framework -output HGLObjC

          3.3 再次查看指令集 $ lipo -info HGLObjC

      4.其它操作

        4.1. 剥离某个指令集 $lipo -thin arm64 HGLObjC -output HGLObjC1

               注:arm64 为某个指令

         4.2. 查看具体信息 $lipo -detailed_info HGLObjC

               注:打印如此 

               

动态库 Framework的更多相关文章

  1. WWDC2014之iOS使用动态库 framework【转】

    from:http://www.cocoachina.com/industry/20140613/8810.html JUN 12TH, 2014 苹果的开放态度 WWDC2014上发布的Xcode6 ...

  2. iOS 开发新版 动态库framework

    0. 参考 http://www.cocoachina.com/industry/20140613/8810.html framework+xib参考 : http://blog.csdn.net/x ...

  3. 使用XCode7打包动态库(Framework)

    iOS中的静态库和动态库 概念 静态库(Static Library)以 .a 为后缀,它是你的源码的实现.m文件编译而成的二进制文件集合,需要配合上暴漏的.h文件使用,它在引用链接时拷贝至可执行文件 ...

  4. iOS 使用 Xcode8 制作动态库及静态库

    在使用第三方 SDK 时,经常遇到他们提供的仅仅只有一个动态或静态库,并不能获取源码.使用动态库 FrameWork 或 静态库 Lib,可以满足不想把核心代码的具体实现向使用者展示,又能避免其他人错 ...

  5. iOS XCode7制作.Framework动态库和.a静态库的总结

    一.开发SDK时的支持情况: OC语言制作动态库时,支持iOS8+:OC语言制作静态库,支持iOS7+. Swift语言制作动态库时,支持iOS8+;Swift不支持静态库. 对于SDK来说,支持情况 ...

  6. iOS 静态库,动态库与 Framework 浅析

    静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人 ...

  7. IOS 使用动态库(dylib)和动态加载framework

    在iphone上使用动态库的多为dylib文件,这些文件使用标准的dlopen方式来使用是可以的.那相同的在使用framework文件也可以当做动态库的方式来动态加载,这样就可以比较自由的使用appl ...

  8. iOS-静态库,动态库,framework浅析(三)

    创建framework静态库 第一步,新建项目 新建项目.png 第二步,删除系统默认创建的[FMDB.h]和[FMDB.m]文件,导入需要打包的源文件. 导入源码后的工程.png 第三步,修改项目配 ...

  9. ios-静态库,动态库,framework浅析(一)

    一,所谓的“库”         * 所谓的“库”          库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用.什么时候我们会用到库呢?         一种情 ...

随机推荐

  1. 【Dojo 1.x】笔记目录

    学习笔记和教程是不同的,笔记是随心记,学到什么就写什么,我尽量按逻辑顺序写笔记. Dojo是什么? Dojo是这么一个JavaScript框架,区别于jQuery等小型类库,这个类库更合适于构建Web ...

  2. 我想要革命想要解脱——bootstrap常见问题及解决方式

    最近一个月,恍若隔世,天天加班,昨晚终于发版了,今天才喘一口气.有时候,即便你工作效率再怎么高,撸码再怎么快也无可避免的会加班.不信的话,可以先给你定一个交付时间,然后不断的给你加需求,就让你一个人做 ...

  3. ARouter学习随笔

    今天看了会ARouter,在这里简单记录下 跟着其他大哥的博客学习了下,总感觉不牢固,借此机会再次简单记录下. 第一步:ARouter 配置 android { defaultConfig { ... ...

  4. nginx配置静态项目

    当nignx可以加载下面的这个service时 server { listen 8085;  server_name 1.192.60.82; location / { root /etc/nginx ...

  5. C 语言 IO 缓存 相关

    必要了解函数的功能和使用场景: fflush, setbuf, setvbuf 了解的操作: setbuf(stdout,NULL); // 关闭输出缓冲区: libc 和 linux 内核IO缓存模 ...

  6. 关于Java中IO流的练习

    练习一:统计一个文件calcCharNum.txt中字母‘A’和'a'出现的总次数. package com.test; import java.io.File; import java.io.Fil ...

  7. LeetCode算法题-Can Place Flowers(Java实现)

    这是悦乐书的第272次更新,第287篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第140题(顺位题号是605).假设你有一个花坛,其中一些地块是种植的,有些则不是. 然 ...

  8. HTMLCSS--案例| 超链接美化 | 模态框 | tab栏选项卡

    一.超链接美化 二.模态框 三.tab栏选项卡 -------------------------------------------- 一.超链接美化 <!DOCTYPE html> & ...

  9. 爬虫系列---scrapy post请求、框架组件和下载中间件+boss直聘爬取

    一 Post 请求 在爬虫文件中重写父类的start_requests(self)方法 父类方法源码(Request): def start_requests(self): for url in se ...

  10. bsp总结

    就版本.nand nor. led三样本周,六六六 1. bsp坏块--- => nand bad Device 0 bad blocks:047600000600000007fe0000=&g ...