First of all:新建一个空白project. File->New->Project

然后新建两个文件 File->New->File  如图

然后选择targets   add Target

注意:iOS工程的选项里面没有Bundel,所以选择Mac里面的

删除Build Phases里面的link库如图(删除Cocoa framework)

接下来修改Build Setting

a.Base SDK选择Latest IOS(IOS 6.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(armv7 armv7s) (不这样编译会报错)

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

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

本来我是打算在Xcode5-DP3里做图解的。但这个版本里没有找到Add Build Pase 就用了Xcode4.6

然后打开TestOne.h文件。可以先做一个简单的demo

//
// TestOne.h
// TestFramework
//
// Created by qingyun on 7/17/13.
// Copyright (c) 2013 qingyun. All rights reserved.
// #import <Foundation/Foundation.h> @interface TestOne : NSObject -(void)tprintF; @end
//
// TestOne.m
// TestFramework
//
// Created by qingyun on 7/17/13.
// Copyright (c) 2013 qingyun. All rights reserved.
// #import "TestOne.h" @implementation TestOne -(void)tprintF
{
NSLog(@"hello world!! Helo qingjoin");
} @end

分别修改TestOne.h  TestOne.m这两个文件

好了基本上Framework已经完成。接下来就是编译。先在simulator 上编译。第二次在iOS Device编译。

等两次编译都成功后。接下来可以看到这个文件。右击Show in Finder

打开后可以看到刚生成的文件

然后把qingT.framework这整个文件复制。再做一个Demo来测试

新建一个project 。File->New->Project

然后右击Framework 。如图所示。然后添加刚生成的qingT.framework这整个文件。加好之后如图所示

然后在这个demo里做一个简单的测试。如图

如图。我们已经对一些文件进行了封装。这样可以方便成功定制自己想要的一些Framework  这个framework 非静态库。

iOS 静态库也就是常用的.a文件的定制可以参考:http://www.cnblogs.com/qingjoin/archive/2013/01/17/2864672.html

参考文档:http://www.wangdg.com/?p=461

版权所有:@qingjoin


Xcode4.6 自制iOS可用的 Framework的更多相关文章

  1. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  2. iOS开发-动态和静态FrameWork

    开发中我们会使用到第三方的SDK,有的时候也会将整个系统的公用的功能的抽象出来成为FrameWork,我们只需要暴露对外的接口,使用者只需要调用接口,对于内部实现的过程不需要维护,可以以库的形式进行封 ...

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

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

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

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

  5. iOS开发:JavaScriptCore.framework的简单使用--JS与OC的交互篇

    iOS7之后苹果为众猿推出了JavaScriptCore.framework这个框架,这个框架为大家在与JS交互上提供了很大帮助,可以在html界面上调用OC方法并传参,也可以在OC上调用JS方法并传 ...

  6. iOS Core Telephony Framework

    Core Telephony Framework(核心通讯框架) 概述: 这个库的前缀为CT(Core Telephony),主要用来获得用户通讯相关信息,我们可以使用这些信息来定义外部接口以便自己使 ...

  7. Unity3D研究院之IOS全自动编辑framework、plist、oc代码

    Unity打IOS时会先生成一个Xcode工程,如果你需要增加一些第三方的framework那么需要手动一条一条的添加,这太烦了..而且可能你还需要修改Plist文件,甚至还可能要修改unity自动生 ...

  8. iOS中 MediaPlayer framework实现视频播放 韩俊强的博客

    iOS开发中播放音乐可以使用MPMusicPlayerController类来实现,播放视频可以使用MPMoviePlayerController和MPMoviePlayerViewControlle ...

  9. iOS 开发 ZFUI framework控件,使布局更简单

    来自:http://www.jianshu.com/p/bcf86b170d9c 前言 为什么会写这个?因为在iOS开发中,界面的布局一直没有Android布局有那么多的方法和优势,我个人开发都是纯代 ...

随机推荐

  1. nginx 配置日志

    http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $r ...

  2. skin++ 终极破解之法

    *[标题]:Skin++通用界面换肤系统V2.0.1破解探讨 *[作者]:gz1X <gz1x(at)tom(dot)com> *[来自]:中国黑客联盟 *[前言]: skin技术,大家都 ...

  3. Java学习之链表

    数据结构学了,java实现下 package com.gh.Link; /** * 链表的实现 * @author ganhang * */ public class Links { public s ...

  4. MVC 返回 view

    RedirectToAction(),即直接返回相同Controller的Index方法: 这个方法还有其他重载方法,比如第二个参数是Controller名,可以指定其他Controller下的Vie ...

  5. JavaScript 高级程序设计(第3版)笔记——chapter4:变量、作用域和内存问题

    Chapter4 变量.作用域和内存问题 l  理解基本类型和引用类型的值 l  理解执行环境 l  理解垃圾收集 4.1基本类型和引用类型的值 l  ECMAScript变量包含两种不同数据类型的值 ...

  6. javaku快捷键

    Eclipse 的编辑功能非常强大,掌握了 Eclipse 快捷键功能,能够大大提高开发效率.Eclipse 中有如下一些和编辑相关的快捷键. 1. [ALT+/] 此快捷键为用户编辑的好帮手,能为用 ...

  7. BZOJ 1006: [HNOI2008]神奇的国度( MCS )

    弦图最小染色...先用MCS求出完美消除序列然后再暴力染色... ------------------------------------------------------------------- ...

  8. Swift 版本历史记录(关注)

    http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapter1/03_revision_history.ht ...

  9. struts2中根对象以及ognl .

    Struts2中的OGNL表达式语言是对Xwork的OGNL的封装.我们要理解一下几点: 1. Struts2中将ActionContext作为OGNL的上下文环境(ActionContext内部含有 ...

  10. 搞清楚学习Web的目的,是为了推广自己的产品和服务,不是为了替人接单做网页

    只有这样,Web才不会沉沦于下流,才会对自己的事业有真正的帮助-