文档章节

xcode7 制作 framework

s
 songmingling
发布于 2016/05/13 11:20
字数 566
阅读 11
收藏 0

1.新建一个静态库工程.

file→ new→ project, 弹出框中选择iOS→ framework & library中的cocoa touch static library(这里我选择cocoa touch framework).点击Next,输入product name: TestFramework, 点击Next→ 点击Create.

2.删除向导所生成工程中的Target.

点击工程名→ 点击TARGETS → 右键Delete.

3.增加一个新的Target.

点击Target底部的"+"号,弹出框中选择OS X→ Framework & Library中的Bundle.点击Next,输入product name TestFramework, 点击Finish.

4.修改新建 Target 的 Building Settings 项.

a: 选中TARGET→ Build Settings项, 将Architectures→ Base SDK 改为Latest iOS(iOS 9.0), 将Architectures 改为 $(ARCHS_STANDARD);

b: 在 Deployment项, 选中"Mac OS X Deployment Target", 点击键盘上的Delete键, 将“Targeted Device Family”改成"1,2";

c: 在 (null) - Deployment项, 修改"iOS Deployment Target"为"6.0",同时修改PROJECT的info下的Deployment Target → "iOS Deployment Target"为"6.0";

d: 在Linking项, 将"Dead Code Stripping" 改为"NO", "Link With Standard Libraries" 改为 "NO", 将 "Mach-O Type" 改为"Relocatable Object File";

f: 在Packing项, 将"Wrapper Extension" 改为 "framework";

5.修改 Target 的 Info 项.

点击Info, 将 "Bundle OS Type code" 改为 "FMWK"

6.将要写入静态库的源码文件拖入工程目录

7.删除TestFramework.m, 修改TestFramework.h内容如下:

8.暴露Headers供外部项目调用接口.

 

选中Target下的Build Phases, 点击左上角"+"号→ "New Headers Phase", 展开Headers, 点击左下角"+", 选择"TestFramework.h"和"TestLog.h"→ 点击add, 将这两个头文件拖动到上方Public下.

9.然后分别在iOS Device 和 iOS Simulator 下编译.

在Window→ Projects中左边选择TestFramework工程, 点击右边的Derived Data右边的箭头,打开Finder, 在../Build/Products目录下有真机和模拟器生成的TestFramework.framework

10.合并Framework.

打开终端, 输入:

cd /Users/Android/Library/Developer/Xcode/DerivedData/TestFramework-aainjryhnvupalarkmoushxwuwdr/Build/Products, 回车;

 

可以输入lipo -info XXX 来查看库的信息, armv7 arm64的是真机, X86_64的是模拟器;

输入命令:

lipo -create /Users/android/Library/Developer/Xcode/DerivedData/TestFramework-aainjryhnvupalarkmoushxwuwdr/Build/Products/Debug-iphoneos/TestFramework.framework/TestFramework /Users/android/Library/Developer/Xcode/DerivedData/TestFramework-aainjryhnvupalarkmoushxwuwdr/Build/Products/Debug-iphonesimulator/TestFramework.framework/TestFramework -output NewTestFramework

在Products目录下会生成一个NewTestFramework的文件, 将该文件拷贝覆盖TestFramework.framework目录下的TestFramework文件, 新的TestFramework.framework就是真机和模拟器通用的framework.

推荐阅读

iOS framework制作教程

深入浅出Cocoa之Framework

本文转载自:http://blog.csdn.net/djl4104804/article/details/50477215

共有 人打赏支持
s
粉丝 0
博文 5
码字总数 120
作品 0
朝阳
Xcode7制作动态及静态Framework

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

朝雨晚风
2016/07/19
0
0
Xcode7制作Framework问题

通过Xcode7创建了Framework工程(Framework1),会自动生成Framework1.h的头文件。创建工具类(Tool.h,Tool.m)。在Framework1.h用#import不会有提示(正常情况下的提示是:#import "heade...

Y_QQ
2016/03/15
309
0
百度地图SDK使用

百度地图其实和高德地图差不错,方法名也很像。 一、注册开发者帐号,下载百度SDK 注册开发者帐号很简单 SDK下载地址:http://lbsyun.baidu.com/index.php?title=iossdk/sdkiosdev-download...

langzhouzhou1
2016/04/13
63
0
Xcode7制作framework教程 iOS9

Demo地址:https://github.com/ma762614600/iOS_Framework 第一步:制作framework 原文链接:打包自己的framework(Xcode7&OSX10.11)兼容各种cpu类型 第一步:新建Framework项目 第二步:编...

lewis-180
2016/02/19
219
0
IOS 集成 ijkplayer遇到的问题

1、配置环境和下载ijkplayer源码,编译步骤参照 http://www.jianshu.com/p/5218f8c952fb; 2、编译完成后,打开IOS文件夹下面的IJKMediaPlayer,编译IJKMediaFramework.framework; 3、新建项...

xiaobai1315
2016/12/16
607
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

iOS开发用到的图片尺寸汇总

启动图 型号 竖屏 横屏 iPhone SE 640px × 1136px 1136px × 640px iPhone 6s 750px × 1334px 1334px × 750px iPhone 6s Plus 1242px × 2208px 2208px × 1242px iPhone 7 750px × 1334......

业界小白
17分钟前
0
0
浅谈redis

redis是一个开源,内存式的健值存储数据库,也被称为健值存储的字典服务器。健值类型有字符串,hash(哈希类型),set(集合),list(列表) 和有序集合 特征细节: 内存式:redis将健值存储在主...

拐美人
24分钟前
0
0
无限扩容,按需使用!ZStack推出基于阿里云NAS的文件存储服务

日前,ZStack发布2.6.0版本,正式宣布推出基于阿里云NAS的文件存储服务。得益于业界领先的阿里云分布式存储架构,融合NAS后的ZStack 2.6.0拥有高性能、高可靠、容量无限扩展、一键操作、按需...

ZStack社区版
27分钟前
1
0
崛起于Springboot2.X之Mongodb多数据源处理(35)

多数据源:4个mongodb库! 目录结构图: 1、添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId>......

木九天
33分钟前
0
0
如何获取显示器的EDID信息

Q1: 为什么要写这篇文章? A1:在最近的工作中遇到了不少问题,其中很多都是和EDID相关的。可以说,作为一家以“显示”为生的企业,我们时时刻刻在与EDID打交道。EDID这东西很简单,但是如果...

DB_Terrill
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部