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. BZOJ 2101: [Usaco2010 Dec]Treasure Chest 藏宝箱( dp )

    dp( l , r ) = sum( l , r ) - min( dp( l + 1 , r ) , dp( l , r - 1 ) ) 被卡空间....我们可以发现 l > r 是无意义的 ...

  2. XML IList<T> TO DataSet TO DataTable 相互转换

    //遍历XML 获得 DataSet //XmlTextReader static void Main(string[] args) { string xmlData = @"D:\stud ...

  3. Java--对象内存布局

    在HotSpot虚拟机中,对象在内存中的存储布局可以分为3块区域:对象头部.实例数据.对齐填充. 一.对象头部Header的布局 Mark Word Class 指针 在32位系统下,上面两部分各占4 ...

  4. xadmin集成ueditor

    from DjangoUeditor.models import UEditorField content = UEditorField(u"内容", imagePath=&quo ...

  5. 位操作 写读同步(无线) (语音1760 1700) ( 无线24l01)

    ************************************************************************** * 函数原型: unsigned char ISD ...

  6. 找球号(一)(hask表)

    找球号(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<= ...

  7. 在cmd窗口中查询android的sqlite3数据库表之步骤

    本文主要是写了一个android程序对sqlite3中数据库的employee表的插入.删除的操作,然后在cmd窗口中用sql命令查询employee表的操作过程. 1.第一步:首先把程序写好. 1. ...

  8. 配置免安装版JAVA1.7的环境变量

    我用的是免安装版JAVA1.7,假设想获取JDK能够联系问我要. 1.開始配置环境变量,右击[我的电脑]---[属性]-----[高级]---[环境变量],如图: 2.选择[新建系统变量]--弹出&q ...

  9. asp.net上传控件使用

    protected void Button1_Click(object sender, EventArgs e) { string str = ""; if (FileUpload ...

  10. uart串口协议

      uart串口协议   /* USART Word Length ---------------------------------------------------------*/     US ...