Xcode6 建立静态库

同一工程下的分层项目:使用静态库来建立,经过 .a 文件来链接工程之间的联系测试

 

File-->New-->Project  选择 CoCoa Touch Static Library (静态库)ui

 

填写名称 LibraryDemospa

建立完成的目录code

在 LibraryDemo.h 里面写入能够测试的代码 blog

#import <Foundation/Foundation.h>
@interface LibraryDemo : NSObject
-(void)printHelloWorld;
@end

 

LibraryDemo.m 代码it

#import "LibraryDemo.h"
@implementation LibraryDemo
-(void)printHelloWorld{
   NSLog(@"HelloWorld");
}
@end

以上是 LibraryDemo 工程的代码io

 

如今要准备作些设置,此时的静态库尚未准备编译

选择工程 LibraryDemo 1 --> TARGETS --> 2 LIbraryDemo -->3 Build Phases 模板

 接下来,点击4 "+" 号 选择 New Headers Phaseclass

 选择 Hearders 点击" + "

选择咱们须要对外的头文件(LibraryDemo.h) 

添加进来,后再把 LibraryDemo.h 文件拖到 Public

而后,咱们编译下 LibraryDemo 工程.

编译成功 , Succeeded

咱们建立一个 MyAppDemo 工程

New --> Project --> Application --> 选择 SingleViewApplication 模板

 

MyAppDemo--> TARGETS --> 选择 MyAppDemo --> Build Phass 选择 Link Binary With Libraries

添加,咱们刚才 LibraryDemo 工程的.a 文件

工程下面就会出现 libLibraryDemo.a 文件

选择 ViewController.m 咱们来测试下代码

这里出现了,头文件没法提示,说明咱们头文件并无在 MyAppDemo 工程下

接下来咱们设置MyAppDemo

选择 TARGETS -->MyAppDemo 

在 BuildSettings 搜索 User Header Search Paths 

在里面添加 $(BUILT_PRODUCTS_DIR) 并设置 recursive

完成后

如今代码能够检索到了

这是咱们 LibraryDemo 工程下的文件,而且运行能够打印出 HelloWorld

静态库建立完成.

那么接下来,咱们来看看,静态库之间如何关联并在工程上使用

咱们按照 LibraryDemo 的步骤建立一个 LibraryDemo2

建立完成的工程目录结构

设置LibraryDemo2 工程 已在上面步骤讲述过,这里不在陈述

设置 BuildSettings 添加 搜索头文件$(BUILT_PRODUCTS_DIR)

接下来,修改 LibraryDemo2.h 代码

而后咱们在 LibraryDemo2.m 重写 LibraryDemo.h 的 printHelloWorld

 

好了,咱们再编译下.

并把libLibraryDemo2.a 文件添加如图

注意:若是 LibraryDemo2 文件找不到,请确认,你是否编译过 LibraryDemo2 或 是否编译出错.

如今咱们修改下 ViewController.m 代码,检测下是否运行正常

 

如今的项目分层是:

MyAppDemo   

LibraryDemo2

LibraryDemo

 

MyAppDemo 作表现层能够分红两层 iPhone / iPad 

LibraryDemo2 能够作业务层

LibraryDemo 是最底层.能够作数据访问层

 

相关文章
相关标签/搜索