直接看步骤 废话不多说,哈哈!

1、新建一个静态库工程:

2:取自己喜欢的名字:

3、删除向导所生成工程中的 Target:

3、删除TestFrameWork对应的工程文件夹:

5:删除bulid 关连项

选择左下角Manager Scheme

选中 Scheme,点击左下角的减号删除:

删除完成后,点击 OK 返回。

5、增加一个新目标。点击 “Add Target”

在弹出的对话框中选择 Mac OS X 下的 Bundle:

如上图,给库取一个名字,保持默认的 Framework(CoreFoundation),然后点击 Finish。

6、修改新目标的工程设置。选中 TARGETS 中对应的目标, Build Settings 页:

7.target 上右键get Info 在Build  Settings下面设置下面的几项内容

a.Base SDK选择Latest IOS(IOS 5.1)

b.Build Active Architecture Only选择NO

c.Drad Code Stripping设置为NO

d.Mach-O Type 为Relocatable Object File

e.Link With Standard Libraries为NO

f.Wrapper Extension修改为:默认的bundle改成framework

g.在Architectures选项选择Standard(armv6 armv7) (不这样编译会报错)

h.工程Info中将Bundle OS Type code的值BNDL改为:FMWK

在 Deployment 下,将 “Mac OS X Deployment Target”改为”Compiler Default”,

将 “Targeted Device Family”改为需要的,此处改成了”iPhone/iPad”,

同时可以根据需要修改 “iOS Deployment Target”,此处改为了 “iOS 3.0”:

8、修改预编译头:就是注释掉全部

10、向工程中添加一个类




10、在myTestClass。h添加一个方法testFounction


11、在myTestClass。m中实现方法testFounction


12.打开Build Phases选项卡,右下角点击Add Build Phase–Add  copy Headers,然后界面就会多出来一个Copy Headers的菜单,然后添加源文件。完成后如图所示:(Compile Sources 添加.m文件)

点击右下角的 “Add  copy Headers”:

添加完成后,展开 “Copy Headers”:点击加号:

选中需要暴露的头文件,此处我们选择 “myTestClassA.h”:

点击 Add 按钮完成添加:此时,我们看到导出的文件在 Project 下,这样是不能暴露给别人使用的,将其移动到 Public 下:

12.然后Build & Run ,

里成功很近了 ,哈哈!

13.下面随便把我们在上面生成的framework 导入到其他的工程就可以使用了,哈哈!

找到刚才我们FrameWork 的工程目录的Bulid->Products->Debug-iphonesimuator->TestFrameWork.farmework

14.下在你想用的地方导入头文件

#import <TestFramework/myTestClass.h>

用法如下:

  1. myTestClass* vc1=[[myTestClass alloc]init];
  2. [vc1 testFounction];
  3. [vc1 release];

15.Bulid&Run

但是上面程序,我测试,会出现内存泄露!

iOS 制作 framework 教程的更多相关文章

  1. iOS,Xcode7 制作Framework,含资源和界面

    Xcode7 制作Framework  本文通过Demo方式介绍1)将含bundle和存代码编写界面打包进framework:2)将storyboard +assets.xcassets打包. (一) ...

  2. Sagit.Framework For IOS 开发框架入门教程4:注册页布局-被消灭的变量

    前言: 上篇写完:Sagit.Framework For IOS 开发框架入门教程3:Start引导页-框架布局和隐藏事件的内幕 之后,好久没写文章了,有IT连创业系列.有DotNetCore的一篇文 ...

  3. IOS7开发~Xcode5制作framework

    一.Framework 简介(Introduction to Framework Programming Guide) Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码 ...

  4. IOS7 ~ Xcode5 制作 framework

    一.Framework 简介(Introduction to Framework Programming Guide) Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码 ...

  5. iOS开发入门教程

    iOS开发入门教程 http://my.oschina.net/mailzwj/blog/133273 摘要 iOS开发入门教程,从创建项目到运行项目,包括OC基础,调试,模拟器设置等相关知识. iO ...

  6. 2011斯坦福大学iOS应用开发教程学习笔记(第一课)MVC.and.Introduction.to.Objective-C

    blog.csdn.net/totogo2010/article/details/8205810  目录(?)[-] 第一课名称 MVC and Introduction to Objective-C ...

  7. iOS 封装.framework 以及使用

    .framework是什么? .framework是什么? 这个问题相信做iOS的都知道答案. 在我们的日常开发中,经常会用到各种已经封装好的库,比如支付宝.微信SDK等等中的库,这些库可以给我们的开 ...

  8. iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方

    https://www.cnblogs.com/yk123/p/9340268.html // 加载自定义名称为Resources.bundle中对应images文件夹中的图片// 思路:从mainb ...

  9. iOS 开发 Framework

    制作Framework 的好处和缺点 好处:       1.如果模块间接口定义的比较完善,模块化的程序具有很好的可扩展性与内聚性:       2.物理上的模块化便于开发过程的管理与测试,尤其是在程 ...

随机推荐

  1. quick-cocos2d-x游戏开发【6】——制作您自己的自定义效果button菜单

    前面提到的主菜单使用,还是很easy的,但我们在商业产品.经常看到button他们人很好,照片不仅就好了,和动画也很不错.Candy Crash都玩过吧,他们看到,button.真的像果冻,效果确实非 ...

  2. 贪心算法(Greedy Algorithm)最小生成树 克鲁斯卡尔算法(Kruskal&#39;s algorithm)

    克鲁斯卡尔算法(Kruskal's algorithm)它既是古典最低的一个简单的了解生成树算法. 这充分反映了这一点贪心算法的精髓.该方法可以通常的图被表示.图选择这里借用Wikipedia在.非常 ...

  3. bigdata_hive_Issue of Vectorization on Parquet table

    When Vectorization is turned on in Hive:set hive.vectorized.execution.enabled=true;If the involved t ...

  4. ToDictionary() and ToList()

    ToDictionary() and ToList() 前言: 有两个简单好用的LINQ扩展方法 ToDictionary() 和ToList(),你可能知道或不知道,但是它的的确确可以简化查询转化为 ...

  5. CSharp设计模式读书笔记(19):备忘录模式(学习难度:★★☆☆☆,使用频率:★★☆☆☆)

    备忘录模式(Memento Pattern):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态.它是一种对象行为型模式,其别名为Tok ...

  6. Swift构造函数(Initializer)和析构函数(Deinitializer)

    要初始化结构和类和其他类型的实例的属性. 默认的构造函数 struct Fahrenheit { var temperature: Doubleinit(){ temperature = 32.0 } ...

  7. 九度OJ 1068 球半径和数量 (模拟)

    题目1068:球的半径和体积 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4797 解决:1696 题目描写叙述: 输入球的中心点和球上某一点的坐标,计算球的半径和体积 输入: 球的中心 ...

  8. 泛型方法动态生成表达式树 Expression

    public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> Temp = db.TraderInfo; if ...

  9. vs2005中的WebBrowser控件的简单应用

    原文:vs2005中的WebBrowser控件的简单应用 这个控件被封装了一下,和以前的调用方式稍有不同.事件还是那几个,变化不大.方法变了不少.从网上能查到的资料不多,贴出一些代码来作参考.看看这段 ...

  10. Linux内核源代码情景分析-中断半

    一.中断初始化 1.中断向量表IDT初始化 void __init init_IRQ(void) { int i; #ifndef CONFIG_X86_VISWS_APIC init_ISA_irq ...