Xcode使用Cocoa Touch Framework新建Framework

网上有很多教程使用Xcode新建Framework的教程,不过使用的是Cocoa Touch Static Library,Xcode 6有一个新的功能,通过Cocoa Touch Framework。能直接生成Framework。

step1

打开Xcode,新建工程,选择Cocoa Touch Framework,命名为xibFramework.

step2

1)在framework中添加类,资源等文件。

如上图所示,在Resource中添加xib,在xibFramework.xvassets添加framework中所需要使用到的图片。

2)在xibFramework.h中导入#import <xibFramework/CustomView.h>

xibFramework是新建framework时,自动生成的,把所有需要公开的类的头文件包含在这个.h文件中,在使用framework时,只需要导入这个.h文件即可

3)选中xibFrmework|Build Phases,在Headers中将所有需要公开的头文件拖入Public中.在Run Script中添加ios-build-framework-script.sh脚本(下载地址)。

Build Phases中没有HeadersRun Script,在右上角的+处将他们加入到Bulid Phases


shell脚本的路径要写对,否则编译的时候会找不到,demo中shell脚本放在xibFramework/xibFramework

4)脚本解析

这个脚本是生成支持arm64 armv7 和i386 x86_64(i386和x86_64并为用xcodebuild命令来生成,当你选择在模拟器下编译时,会生成支持这两种架构的framework)架构的framework。该脚本只允许用户在模拟器下编译,否则会报错,生成后的framework存放在工程目录的Release-universal或者Debug-universal目录下

到这一步,就已经生成了framework,下面对framework使用

step3

1)新建工程,选择Single View Application,命名为UseFrmeworkDemo

2)将xibFramework.framework拖入
UseFrmeworkDemo中,并使用framework

选择UseFrameworkDemo|General,在Embedded BinariesLinked Frameworks and Libraries中加入xibFramework,在拖入xibFramework时,Linked Frameworks and Libraries中就会加入这个framework.

3)command+R运行工程,可以看到xibFramework的控件在UseFrameworkDemo中能正常使用了.


xibFramework 下载地址

UseFrameworkDemo 下载地址