首页 > 其他 > 详细

Xcode6 创建静态库

时间:2015-04-28 17:27:09      阅读:286      评论:0      收藏:0      [点我收藏+]

同一工程下的分层项目:使用静态库来创建,通过 .a 文件来联系

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

技术分享技术分享

填写名称 LibraryDemo

技术分享技术分享

创建完成的目录


技术分享技术分享

在 LibraryDemo.h 里面写入可以测试的代码




 

  1. #import
  2. @interface LibraryDemo : NSObject
  3. -(void)printHelloWorld;
  4. @end

LibraryDemo.m 代码

 

  1. #import "LibraryDemo.h"
  2. @implementation LibraryDemo
  3. -(void)printHelloWorld{
  4.    NSLog(@"HelloWorld");
  5. }
  6. @end

以上是 LibraryDemo 工程的代码




现在要准备做些设置,此时的静态库还没有准备

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




技术分享技术分享




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

技术分享技术分享




选择 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 是最底层.可以做数据访问层

技术分享技术分享


转载请注明:http://www.cnblogs.com/Overbord/p/4463224.html 

Xcode6 创建静态库

原文:http://www.cnblogs.com/Overbord/p/4463224.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!