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

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. ABP应用层——参数有效性验证

    ABP应用层——参数有效性验证 基于DDD的现代ASP.NET开发框架--ABP系列之17.ABP应用层——参数有效性验证 ABP是“ASP.NET Boilerplate Project (ASP. ...

  2. SQL Profile (总结4)--使用演示示例

    前提:sql profile工具的相关视图 dba_sql_profile 10g: sys.sqlprof$attr  &  sqlprof$ 11g: sys.sqlobj$data  & ...

  3. 基于 Android 的 3D 视频样本代码

    作者:Mark Liu 下载样本代码 简单介绍 在Android 中,创建一个可以播放视频剪辑的应用很easy:创建一个採用 3D 图形平面的游戏应用也很easy.可是,创建一个可以在 3D 图形对象 ...

  4. 队列--Redis+Log4Net

    队列--Redis+Log4Net Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redi ...

  5. 【iOS开发-48】九宫格布局案例:自己主动布局、字典转模型运用、id和instancetype差别、xib反复视图运用及与nib关系

    本次九宫格案例: (1)导入app.plist和各种图片素材,方便兴许开发.实际开发中,也是如此. (2)把plist中数组导入进来. --由于本案例中app.plist终于是一个数组,数组里面是字典 ...

  6. AngularJS之使用服务封装可复用代码

    创建服务组件 在AngularJS中创建一个服务组件很简单,只需要定义一个具有$get方法的构造函数, 然后使用模块的provider方法进行登记: //定义构造函数 var myServicePro ...

  7. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  8. VS2010类模板修改——添加版权、说明

    VS2010类模板修改——添加版权.说明 最近在学习使用Memcache,就想着用C#代码写一个实现Cache与Memcache以及将来若是能融入Redis切换使用的程序集...不过刚开始写代码,强迫 ...

  9. 关于UtilTimerStack类的使用--XWork2、Struts2内置性能诊断类

    关于UtilTimerStack类的使用--XWork2.Struts2内置性能诊断类 一.UtilTimerStack做什么用的? 这个本来是Xwork2(Struts2的核心)的相关的工具类,可以 ...

  10. SURF分析算法

    SURF分析算法 一个.整体形象     这个概念是积分图像Viola和Jones建议.随机位积分图像(i.j)的值原始图象的左上角随机点(i,j)级配相应的重点领域值的总和,其数学公式如图1所看到的 ...